Menu
Coddy logo textTech

Ciclo annidato

Fa parte della sezione Fondamenti del percorso C# di Coddy. Lezione 46 di 69.

Un ciclo annidato è semplicemente un ciclo all'interno di un altro ciclo. Il ciclo interno completerà tutte le sue iterazioni per ciascuna singola iterazione del ciclo esterno.

Una buona analogia è quella di un orologio: per ogni ora (ciclo esterno), la lancetta dei minuti (ciclo interno) deve completare il suo ciclo completo di 60 minuti.

Esempio di ciclo annidato:

for (int x = 0; x < 2; x++) {
	for (int y = 0; y < 2; y++) {
		Console.WriteLine(x + " " + y);
	}
}

// Questo produrrà in output:
// 0 0
// 0 1
// 1 0
// 1 1

Il ciclo esterno (x) viene eseguito due volte e, per ciascuna di queste volte, il ciclo interno (y) viene eseguito due volte, il che significa che il corpo del ciclo interno viene eseguito in totale 4 volte.

Potresti aver bisogno anche di Console.Write() quando lavori con cicli annidati. A differenza di Console.WriteLine(), che stampa il testo e passa a una nuova riga, Console.Write() stampa il testo senza aggiungere un ritorno a capo alla fine. Questo ti permette di comporre l'output sulla stessa riga:

for (int y = 0; y < 4; y++) {
	Console.Write("* ");
}
Console.WriteLine();

// Questo produrrà in output:
// * * * * 

Qui, Console.Write() continua a stampare sulla stessa riga e Console.WriteLine() alla fine passa alla riga successiva.

challenge icon

Sfida

Principiante

Scrivi un programma che stampi un rettangolo di asterischi (*) con una larghezza e un’altezza date.

Input: due numeri interi: width e height

Per esempio:

Se width = 5 e height = 3, l’output dovrebbe essere:

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

Se width = 4 e height = 6, l’output dovrebbe essere:

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

Provalo tu

using System;

public class Program {
    public static void Main(string[] args) {
        int width = int.Parse(Console.ReadLine());
        int height = int.Parse(Console.ReadLine());
        // Scrivi il tuo codice qui sotto

    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore C# online