120 Godzina 8
120 Godzina 8
ANALIZA:
W linii 8, w instrukcji for wykonywane są trzy instrukcje: inicjalizac-ja zmiennej i wartością zero, warunek sprawdzający, czy i jest mniejsze od 5 i akcję wypisującą na ekranie wartość zmiennej i i inkrementującą ją.
W treści pętli nie ma żadnej instrukcji dlatego postawiliśmy znak średnika ( ; ). Zwróć uwagę, że nie jest to dobrze zaprojektowana instrukcja for. Ostatnia instrukcja - akcja - wykonuje stanowczo za wiele czynności. Lepiej by było tak:
8: for (int i = 0; i < 5; i++)
9: cout « "i: " « i « endl;
W obydwu przypadkach osiągamy ten sam rezultat, jednak drugie rozwiązanie jest bardziej eleganckie i czytelne.
Pętle można dowolnie zagnieżdżać poprzez umieszczenie pętli w treści innej pętli. Taka wewnętrzna pętla będzie wykonywana przy każdej iteracji pętli, w której jest umieszczona (czyli pętli zewnętrznej). Listing 8.14 ilustruje wstawianie znaków do macierzy z wykorzystaniem zagnieżdżonych pętli for.
Listing 8.14. Zagnieżdżone pętle for
1:
2:
3:
4:
5:
6:
7:
8:
9:
10
11
12
13
14
15
16
17
18
19
20 21 22 23
// Listing 8.14
// Demonstracja zagnieżdżonych pętli for
iinclude <iostream.h>
int main()
1
int kolumny, wiersze; char znak;
cout « "Ile wierszy? cin » wiersze; cout « "Ile kolumn? cin » kolumny; cout « "Jaki znak? "; cin » znak;
for (int i = 0; i < wierszę; i++)
1
for (int j = 0; j < kolumny; j++) cout « znak; cout « "\n";
}
return 0;
)
W linii 8, w instrukcji for wykonywane są trzy instrukcje: inicjalizac-ja zmiennej i wartością zero, warunek sprawdzający, czy i jest mniejsze od 5 i akcję wypisującą na ekranie wartość zmiennej i i inkrementującą ją.
ANALIZA
W treści pętli nie ma żadnej instrukcji dlatego postawiliśmy znak średnika ( ; ). Zwróć uwagę, że nie jest to dobrze zaprojektowana instrukcja for. Ostatnia instrukcja - akcja - wykonuje stanowczo za wiele czynności. Lepiej by było tak:
8: for (int i = 0; i < 5; i++)
9: cout « "i: " « i « endl;
W obydwu przypadkach osiągamy ten sam rezultat, jednak drugie rozwiązanie jest bardziej eleganckie i czytelne.
Pętle można dowolnie zagnieżdżać poprzez umieszczenie pętli w treści innej pętli. Taka wewnętrzna pętla będzie wykonywana przy każdej iteracji pętli, w której jest umieszczona (czyli pętli zewnętrznej). Listing 8.14 ilustruje wstawianie znaków do macierzy' z wykorzystaniem zagnieżdżonych pętli for.
Listing 8.14. Zagnieżdżone pętle for
1: // Listing 8.14
2: // Demonstracja Zagnieżdżonych pętli for
3:
4: #include <iostream.h>
5:
6: int main ()
7: <
8: int kolumny, wiersze;
9: char znak;
10: cout « "Ile wierszy?
11: cin » wiersze;
13: cin » kolumny;
15: cin » znak;
16: for (int i = 0; i < wiersze; i++)
18: for (int j = 0; j < kolumny; j++)
19: cout « znak;
20: cout « "\n";
21: }
22: return 0;
Ile wierszy? 4
Ile kolumn? 12