Federico Lelli / SchoolC++
PERCORSO GUIDATO

07 | Cicli annidati e filtri

Capitolo 07 · Teoria, esempio ragionato e verifica.

Prima di iniziare: completa il capitolo 06.

Concetti e definizioni

Un ciclo annidato completa tutte le proprie iterazioni per ogni passo di quello esterno. Un if nel corpo seleziona quali elementi elaborare. Due cicli di n passi fanno circa n² iterazioni: il costo cresce più rapidamente di quello di un singolo ciclo. break interrompe soltanto il ciclo più interno.

Esempio completo

Salva come esempio.cpp. Compila con g++ -std=c++17 -Wall -Wextra esempio.cpp -o esempio; esegui ./esempio (PowerShell: .\esempio.exe).

#include <iostream>

int main() {
  for (int r = 1; r <= 3; ++r) {
    for (int c = 1; c <= 3; ++c) {
      std::cout << r * c << " ";
    }
    std::cout << "\n";
  }
}

Segui l’esecuzione

Le righe sono 1 2 3, poi 2 4 6, poi 3 6 9. Il ritorno a capo appartiene al ciclo esterno.

Prova tu

Stampa un triangolo di asterischi di altezza n, validando 1 ≤ n ≤ 20.

Casi di prova e criteri di riuscita

n=3 → righe con 1, 2 e 3 asterischi; n=1 → un solo asterisco.

Prima di proseguire

Descrivi a parole l’algoritmo, esegui i casi di prova e spiega almeno un possibile errore. Poi passa agli esercizi del capitolo 07.

Materiali didattici curati e rielaborati da Federico Lelli. Le fonti e i riferimenti specifici sono indicati nei materiali disponibili.