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 2Untuk setiap nilai row, perulangan bagian dalam dimulai ulang dan berjalan melalui semua nilai col, dari 1 hingga cols. Jadi, dengan rows = 3 dan cols = 2, kode di dalamnya berjalan sebanyak 6 kali (3 × 2). rows dan cols tidak pernah berubah: keduanya hanya memberi tahu perulangan kapan harus berhenti.
Perulangan bersarang umum digunakan untuk bekerja dengan struktur seperti kisi atau untuk 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 di baris yang sama. Setelah perulangan bagian dalam selesai, print("") berpindah ke baris berikutnya.
Tantangan
MudahBaca dua bilangan bulat dari input: rows dan cols. Gunakan perulangan bersarang untuk mencetak kisi angka, dengan setiap sel menampilkan hasil kali 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 hingga
rows) - Gunakan perulangan dalam untuk kolom (1 hingga
cols) - Cetak hasil kali nomor baris dan kolom saat ini
- Pisahkan nilai pada baris yang sama dengan spasi
- Cetak setiap baris pada barisnya sendiri
Petunjuk: Gunakan terminator: " " agar nilai tetap berada pada baris yang sama, lalu gunakan print("") setelah perulangan dalam untuk berpindah ke baris berikutnya.
Misalnya, jika rows bernilai 3 dan cols bernilai 4, outputnya akan seperti berikut:
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: 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 berikutnyaPelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganUlasan: Matematika SederhanaOperator Perbandingan7I/O Dasar
Fungsi printInterpolasi stringInput ReadLineKonversi tipe dataRangkuman: Sampai 120Rangkuman: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianLabel ArgumenUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Default13Melakukan Perulangan pada Urutan
Melakukan Perulangan pada ElemenMetode EnumerasiMelakukan Perulangan pada String P1Melakukan Perulangan pada String P22Variabel
let vs varAnotasi TipeBilanganstringBooleanKonvensi PenamaanRingkasan: Inisialisasi Variabel5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 3Operator Ternary8Kalkulator Pembagi Tagihan
Pesan SambutanMendapatkan Input11FizzBuzz dengan Variasi
Gambaran Umum PermainanFungsi FizzBuzz3Optional
Apa Itu OptionalMembuka Optional dengan If LetGuard LetOperator Nil CoalescingUlasan: Membuka Optional dengan Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaPernyataan SwitchSwitch dengan Rentang9Perulangan
For-In LoopWhile LoopRepeat-While LoopBreakContinueRingkasan: FaktorialRentang dalam LoopLoop BersarangRingkasan: Input DinamisLatihan sendiri: Playground Swift