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.