Cicli annidati
Fa parte della sezione Fondamenti del percorso C++ di Coddy. Lezione 48 di 74.
Un ciclo annidato è semplicemente un ciclo all'interno di un altro ciclo. Il ciclo interno completerà tutte le sue iterazioni per ogni singola iterazione del ciclo esterno.
Una buona analogia è un orologio: per ogni ora (ciclo esterno), la lancetta dei minuti (ciclo interno) deve completare il suo intero ciclo di 60 minuti.
Esempio di ciclo annidato:
int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
for (int y = 0; y < cols; y++) {
std::cout << x << " " << y << std::endl;
}
}
// Questo produrrà in output:
// 0 0
// 0 1
// 1 0
// 1 1Il ciclo esterno (x) viene eseguito rows volte e, per ciascuna di esse, il ciclo interno (y) viene eseguito cols volte. Ogni ciclo ha il proprio contatore: y riparte da 0 ogni volta che viene eseguito il ciclo esterno, mentre rows e cols restano uguali e indicano solo ai cicli quando fermarsi.
Sfida
PrincipianteScrivi un programma che stampi un rettangolo di asterischi (*) con una larghezza e un'altezza date.
Input: due numeri interi: width e height (il codice iniziale li legge già).
Per esempio:
Se width = 5 e height = 3, l'output dovrebbe essere:
*****
*****
*****Se width = 4 e height = 6, l'output dovrebbe essere:
****
****
****
****
****
****Usa un nuovo contatore per ogni ciclo (per esempio i per le righe e j per gli asterischi in una riga) e confrontalo con height o width. Non modificare height e width: ogni riga ha bisogno di width di nuovo.
Provalo tu
#include <iostream>
int main() {
int width, height;
std::cin >> width >> height;
// Scrivi il tuo codice qui sotto
return 0;
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloIncremento/DecrementoPost-incremento/Post-decrementoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Fondamenti di input/output
Istruzione coutIstruzione cinInserimento di stringheRipasso - Fino a 120Ripasso - Vero o falso3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneRiepilogo - Inizializzare le variabiliConversione di tipo Parte 1Conversione di tipo Parte 26Decisioni
Istruzione ifIf-elseIstruzione switchOperatore condizionaleRiepilogo - If-elseIf-else annidatiEsercitati da solo: Compilatore C++ online