C ++ annidato Lop (con esempi)

In questo tutorial impareremo a conoscere i cicli annidati in C ++. Impareremo a usare i cicli annidati for, while e do … while in un programma.

Un ciclo all'interno di un altro ciclo è chiamato ciclo annidato. Facciamo un esempio,

Supponiamo di voler scorrere ogni giorno della settimana per 3 settimane.

Per ottenere ciò, possiamo creare un ciclo annidato da iterare tre volte (3 settimane). E all'interno del ciclo, possiamo creare un altro ciclo per iterare 7 volte (7 giorni). Per esempio,

Esempio: annidato per ciclo

 // C++ program to display 7 days of 3 weeks #include using namespace std; int main() ( int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( cout << " Day:" << j << endl; ) ) return 0; )

Produzione

 Settimana: 1 Giorno: 1 Giorno: 2 Giorno: 3 … Settimana: 2 Giorno: 1 Giorno: 2 Giorno: 3 … … 

Possiamo creare cicli annidati con while e do … mentre in modo simile.

Esempio: visualizzazione di un motivo

 // C++ program to display a pattern // with 5 rows and 3 columns #include using namespace std; int main() ( int rows = 5; int columns = 3; for (int i = 1; i <= rows; ++i) ( for (int j = 1; j <= columns; ++j) ( cout << "* "; ) cout << endl; ) return 0; )

Produzione

 * * * * * * * * * * * * * * * 

In questo programma, il ciclo esterno itera da i == 1a i == rows.

Il ciclo interno itera da j == 1a j == columns. All'interno del ciclo interno, stampiamo il personaggio '*'.

interrompere e continuare all'interno di cicli annidati

Quando usiamo un'istruzione break all'interno del ciclo interno, termina il ciclo interno ma non il ciclo esterno. Per esempio,

 int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( // break during the 2nd week if (i == 2) ( break; ) cout << " Day:" << j << endl; ) )

Produzione

 Settimana: 1 Giorno: 1 Giorno: 2 … Settimana: 2 Settimana: 3 Giorno: 1 Giorno: 2 … 

Questo programma non esegue il ciclo interno quando il valore di i è 2cioè non stampa i giorni della 2a settimana. Il ciclo esterno che stampa le settimane rimane inalterato.

Allo stesso modo, quando usiamo un'istruzione continue all'interno del ciclo interno, salta solo l'iterazione corrente del ciclo interno. Il ciclo esterno non è influenzato. Per esempio,

 int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( // continue if the day is an odd number if (j%2 != 0) ( continue; ) cout << " Day:" << j << endl; ) )

Produzione

 Settimana: 1 Giorno: 2 Giorno: 4 Giorno: 6 Settimana: 2 Giorno: 2 Giorno: 4 Giorno: 6 Settimana: 3 Giorno: 2 Giorno: 4 Giorno: 6

Questo programma stampa solo i giorni pari.

Ogni volta che days_in_week è dispari, l' continueistruzione salta quell'iterazione del ciclo interno.

Articoli interessanti...