Cicli annidati
Fa parte della sezione Fondamenti del percorso C di Coddy. Lezione 43 di 63.
I cicli annidati sono cicli posizionati all'interno di un altro ciclo. Per ogni iterazione del ciclo esterno, il ciclo interno viene eseguito completamente.
Crea un ciclo esterno che venga eseguito 3 volte:
for (int i = 0; i < 2; i++) {
// Codice del ciclo esterno qui
}Aggiungi un ciclo interno che venga eseguito 3 volte per ogni iterazione del ciclo esterno:
int rows = 2;
int cols = 3;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}L'output sarà:
0,0 0,1 0,2
1,0 1,1 1,2 Nota come il ciclo interno completa le sue iterazioni prima che il ciclo esterno passi alla sua iterazione successiva. Ogni ciclo ha il proprio contatore: j riparte da 0 ogni volta che il ciclo esterno viene eseguito, mentre rows e cols restano uguali e indicano solo ai cicli quando fermarsi.
Sfida
FacileCrea un programma che stampi un rettangolo di asterischi (*) in base al numero di righe e colonne fornito dall’utente.
Il tuo programma dovrebbe:
- Leggere dall’utente due numeri interi: righe e colonne.
- Usare cicli annidati per stampare un rettangolo di asterischi, in cui il ciclo esterno gestisce le righe e quello interno le colonne.
- Stampare una nuova riga dopo ogni riga.
Per esempio, se l’input è di 3 righe e 4 colonne, 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 rows o columns. Non modificare rows e columns: ogni riga ha bisogno di nuovo di columns.
Provalo tu
#include <stdio.h>
int main() {
int rows, columns;
scanf("%d", &rows);
scanf("%d", &columns);
// Scrivi qui il tuo codice per stampare il motivo
return 0;
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
2Variabili
Tipi di datiInteroFloat - DoubleCaratteriValori booleaniCostantiFondamenti di printfRegole di denominazione delle variabiliConversione di tipo parte 1Conversione di tipo parte 2Sfida di ripasso3Operatori
Operatori aritmeticiOperatore moduloIncremento/DecrementoOperatori di assegnazioneOperatori relazionaliOperatori logici Parte 1Operatori logici Parte 2Operatori logici Parte 3Sfida di riepilogoEsercitati da solo: Compilatore C online