Вложени Цикли

Ето няколко примера с вложени цикли.
За най-лесна илюстрация ще използваме геометрични фигури.
В случая използваме операторът for.

Код:

const int size = 8;
char ch = '*';
cout << endl << "Figure using nested loops:" << endl;
for(int row = 0; row < size; ++row){
  for(int column = 0; column < size; ++column){
    cout << ch;
  }
  cout << endl;
}

Изход:

Figure using nested loops:
********
********
********
********
********
********
********
********

Код:

cout << endl << "Figure using nested loops:" << endl;
for(int row = 0; row < size; ++row){
  for(int column = 0; column < size; ++column){
    if(row == 0 || row == size-1 || column == 0 || column == size-1)
      cout << ch;
    else
      cout << ' ';
  }
  cout << endl;
}

Изход:

Figure using nested loops:
********
*      *
*      *
*      *
*      *
*      *
*      *
********

Код:

cout << endl << "Figure using nested loops:" << endl;
for(int row = 0; row < size; ++row){
  for(int column_ch = 0; column_ch < row+1; ++column_ch){
    cout << ch;
  }
  cout << endl;
}

Изход:

Figure using nested loops:
*
**
***
****
*****
******
*******
********

Код:

cout << endl << "Figure using nested loops:" << endl;
for(int row = 0; row < size; ++row){
  for(int column_ch = 0; column_ch < size-row; ++column_ch){
    cout << ch;
  }
  cout << endl;
}

Изход:

Figure using nested loops:
********
*******
******
*****
****
***
**
*

Код:

cout << endl << "Figure using nested loops:" << endl;
for(int row = 0; row < size; ++row){
  for(int column_space = 0; column_space < row; ++column_space){
    cout << ' ';
  }
  for(int column_ch = row; column_ch < size; ++column_ch){
    cout << ch;
  }
  cout << endl;
}

Изход:

Figure using nested loops:
********
 *******
  ******
   *****
    ****
     ***
      **
       *

Код:

cout << endl << "Figure using nested loops:" << endl;
for(int row = 0; row < size; ++row){
  for(int column_space = 0; column_space < size-row-1; ++column_space){
    cout << ' ';
  }
  for(int column_ch = size-row-1; column_ch < size; ++column_ch){
    cout << ch;
  }
  cout << endl;
}

Изход:

Figure using nested loops:
       *
      **
     ***
    ****
   *****
  ******
 *******
********

* Забележка – на някои фогури се налага на всеки ред да имаме ‘ ‘ и ‘*’. Така реално отместваме визуално звездичките