Menu
CoddyTech

Loop Bersarang

Termasuk bagian Dasar-Dasar dalam perjalanan Swift di Coddy. Pelajaran 49 dari 86.

Loop bersarang adalah loop di dalam loop lain. Loop bagian dalam menyelesaikan semua iterasinya untuk setiap satu iterasi loop bagian luar.

let rows = 3
let cols = 2
for row in 1...rows {
    for col in 1...cols {
        print("Row \(row), Col \(col)")
    }
}
// output:
// Row 1, Col 1
// Row 1, Col 2
// Row 2, Col 1
// Row 2, Col 2
// Row 3, Col 1
// Row 3, Col 2

Untuk setiap nilai row, perulangan bagian dalam dimulai kembali dan berjalan melalui semua nilai col, dari 1 hingga cols. Jadi, dengan rows = 3 dan cols = 2, kode di dalamnya berjalan sebanyak 6 kali secara keseluruhan (3 × 2). rows dan cols tidak pernah berubah: keduanya hanya memberi tahu perulangan kapan harus berhenti.

Perulangan bertingkat biasanya digunakan untuk bekerja dengan struktur seperti kisi atau menghasilkan pola.

Berikut contoh yang mencetak persegi panjang sederhana dari tanda bintang:

for row in 1...2 {
    for col in 1...4 {
        print("*", terminator: "")
    }
    print("")  // Pindah ke baris berikutnya
}
// output:
// ****
// ****

terminator: "" mencegah print menambahkan baris baru, sehingga tanda bintang muncul pada baris yang sama. Setelah perulangan dalam selesai, print("") berpindah ke baris berikutnya.

challenge icon

Tantangan

Mudah

Baca dua bilangan bulat dari input: rows dan cols. Gunakan perulangan bersarang untuk mencetak kisi angka yang setiap selnya menampilkan hasil perkalian nomor baris dan nomor kolomnya.

Kamu akan menerima input berikut:

  • Baris pertama: jumlah baris (misalnya, "3")
  • Baris kedua: jumlah kolom (misalnya, "4")

Persyaratan:

  • Gunakan perulangan luar untuk baris (1 sampai rows)
  • Gunakan perulangan dalam untuk kolom (1 sampai cols)
  • Cetak hasil perkalian nomor baris dan kolom saat ini
  • Pisahkan nilai pada baris yang sama dengan spasi
  • Setiap baris harus berada di barisnya sendiri

Petunjuk: Gunakan terminator: " " agar nilai tetap berada di baris yang sama, lalu gunakan print("") setelah perulangan dalam untuk berpindah ke baris berikutnya.

Misalnya, jika rows adalah 3 dan cols adalah 4, outputnya seharusnya:

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

Gunakan penghitung baru untuk setiap perulangan (misalnya, row untuk baris dan col untuk angka dalam satu baris), lalu bandingkan dengan rows atau cols. Jangan ubah rows dan cols itu sendiri: setiap baris memerlukan cols lagi.

Coba sendiri

let rows = Int(readLine()!)!
let cols = Int(readLine()!)!

// TODO: Tulis kodemu di bawah ini
// Gunakan perulangan bersarang untuk mencetak kisi perkalian
// Perulangan luar: ulangi untuk setiap baris (1 hingga rows)
// Perulangan dalam: ulangi untuk setiap kolom (1 hingga cols)
// Cetak hasil perkalian row * column
// Gunakan print(..., terminator: " ") agar nilai tetap berada pada baris yang sama
// Gunakan print("") setelah perulangan dalam untuk pindah ke baris berikutnya
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Swift