Menu
CoddyTech

Pętla zagnieżdżona

Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 52 z 93.

Możesz umieścić pętlę wewnątrz innej pętli, aby utworzyć zagnieżdżoną pętlę. Pętla wewnętrzna wykonuje się w całości przy każdej iteracji pętli zewnętrznej.

val rows = 2
val cols = 3
for (i in 1..rows) {
    for (j in 1..cols) {
        println("i=$i, j=$j")
    }
}
// Wynik:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3

Gdy i wynosi 1, pętla wewnętrzna wykonuje się cols razy (j przyjmuje wartości od 1 do 3). Następnie i staje się równe 2, a pętla wewnętrzna zaczyna się od nowa, przy czym j ponownie przyjmuje wartości od 1 do 3. Daje nam to łącznie 2 × 3 = 6 iteracji. rows i cols nigdy się nie zmieniają: tylko informują pętle, kiedy mają się zatrzymać.

Pętle zagnieżdżone są często używane do tworzenia wzorów lub pracy ze strukturami przypominającymi siatkę:

for (row in 1..3) {
    for (col in 1..row) {
        print("*")
    }
    println()
}
// Wynik:
// *
// **
// ***

Tutaj zakres pętli wewnętrznej zależy od zmiennej pętli zewnętrznej, tworząc wzór trójkąta. Funkcja print() wyświetla tekst bez znaku nowej linii, natomiast println() przechodzi do następnej linii po każdym wierszu.

challenge icon

Wyzwanie

Średni

Wczytaj z wejścia liczbę całkowitą n. Użyj zagnieżdżonych pętli, aby wypisać tabliczkę mnożenia dla liczb od 1 do n.

Dla każdego wiersza i od 1 do n wypisz iloczyny i * 1, i * 2, ..., i * n, oddzielone spacjami, a następnie przejdź do nowej linii.

Na przykład, jeśli wejście to 3, wyjście powinno być następujące:

1 2 3
2 4 6
3 6 9

Jeśli wejście to 4, wyjście powinno być następujące:

1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

Użyj print() ze spacją, aby wypisywać wartości w tym samym wierszu, oraz println(), aby przejść do następnego wiersza.

Użyj nowego licznika dla każdej pętli (na przykład i dla wierszy i j dla kolumn) i porównuj oba z n. Nie zmieniaj samego n: jest potrzebne ponownie w każdym wierszu.

Spróbuj swoich sił

fun main() {
    // Wczytaj dane wejściowe
    val n = readLine()!!.toInt()
    
    // TODO: Napisz swój kod poniżej
    // Użyj zagnieżdżonych pętli, aby wypisać tabliczkę mnożenia
    // Użyj print() ze spacją, aby wypisać wartości w tym samym wierszu
    // Użyj println(), aby przejść do następnego wiersza
    
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin