Pętle zagnieżdżone
Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 48 z 74.
Pętla zagnieżdżona to po prostu pętla wewnątrz innej pętli. Pętla wewnętrzna wykona wszystkie swoje iteracje podczas każdej pojedynczej iteracji pętli zewnętrznej.
Dobrą analogią jest zegar: dla każdej godziny (pętla zewnętrzna) wskazówka minutowa (pętla wewnętrzna) musi przejść pełny 60-minutowy cykl.
Przykład zagnieżdżonej pętli:
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;
}
}
// To spowoduje wyświetlenie:
// 0 0
// 0 1
// 1 0
// 1 1Pętla zewnętrzna (x) wykonuje się rows razy, a przy każdym z tych wykonań pętla wewnętrzna (y) wykonuje się cols razy. Każda pętla ma własny licznik: y za każdym razem zaczyna ponownie od 0, gdy wykonuje się pętla zewnętrzna, natomiast rows i cols pozostają takie same i tylko informują pętle, kiedy mają się zatrzymać.
Wyzwanie
PoczątkującyNapisz program, który wypisuje prostokąt z gwiazdek (*) o podanej szerokości i wysokości.
Dane wejściowe: Dwie liczby całkowite: width i height (kod początkowy już je odczytuje).
Na przykład:
Jeśli width = 5 i height = 3, wynik powinien wyglądać tak:
*****
*****
*****Jeśli width = 4 i height = 6, wynik powinien wyglądać tak:
****
****
****
****
****
****Użyj nowego licznika w każdej pętli (na przykład i dla wierszy i j dla gwiazdek w wierszu) i porównuj go z height lub width. Nie zmieniaj samych height i width: każdy wiersz potrzebuje ponownie wartości width.
Spróbuj swoich sił
#include <iostream>
int main() {
int width, height;
std::cin >> width >> height;
// Napisz swój kod poniżej
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawy wejścia/wyjścia
Instrukcja coutInstrukcja cinWczytywanie ciągu znakówPowtórka — do 120Powtórka — prawda czy fałsz3Zmienne, część 2
Deklarowanie typówKonwencje nazewnictwaPowtórka — inicjalizacja zmiennychKonwersja typów, część 1Konwersja typów, część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator warunkowyPowtórzenie: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator C++ online