C ++ Nested Loop (con esempi)

In questo tutorial, impareremo a conoscere i cicli annidati in C ++ con l'aiuto di esempi. Impareremo anche come interrompere e continuare in Nested Loop.

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 per iterare tre volte (3 settimane). E all'interno del ciclo, possiamo creare un altro ciclo per iterare 7 volte (7 giorni). Ecco come possiamo usare i cicli annidati.

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 1a righe.

Il ciclo interno itera da 1a colonne. 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,

Esempio: interrompi i cicli annidati

 #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) ( // 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,

Esempio: continuare all'interno di cicli annidati

 #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) ( // 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...