Nested loops and patterns · Perulangan bersarang dan pola
A loop inside a loop
- You can put one loop inside another. The inner loop runs fully for each step of the outer loop.
- This is how you work with rows and columns, or compare every pair of items.
- If the outer loop runs
Rtimes and the inner runsCtimes, the inner body runsR × Ctimes.
Loop di dalam loop
- Anda dapat menempatkan satu perulangan (loop) di dalam perulangan lainnya. Perulangan dalam berjalan penuh untuk setiap langkah perulangan luar.
- Inilah cara Anda menangani baris dan kolom, atau membandingkan setiap pasangan item.
- Jika perulangan luar berjalan
Rkali dan perulangan dalam berjalanCkali, tubuh perulangan dalam akan berjalanR × Ckali.
Rows and columns
- Think of the outer loop as the row and the inner loop as the column.
- For a block of
*, the outer loop picks a row; the inner loop prints the stars in that row. - After the inner loop finishes a row, print a newline
\nto start the next row.
Baris dan kolom
- Anggap perulangan luar sebagai baris dan perulangan dalam sebagai kolom.
- Untuk blok
*, perulangan luar memilih sebuah baris; perulangan dalam mencetak bintang-bintang di baris tersebut. - Setelah perulangan dalam selesai mencetak sebuah baris, cetak baris baru
\nuntuk memulai baris berikutnya.
Building a line, then a block
printf("*")prints one star without moving to a new line.- Print all the stars for one row first, then one
printf("\n")to end the row. - Repeat for every row, and the rows stack into a block.
Membangun baris, kemudian blok
printf("*")mencetak satu bintang tanpa berpindah ke baris baru.- Cetak semua bintang untuk satu baris terlebih dahulu, lalu satu
printf("\n")untuk mengakhiri baris tersebut. - Ulangi untuk setiap baris, dan baris-baris akan tersusun menjadi sebuah blok.
#include <stdio.h>
int main(void) {
for (int row = 0; row < 3; row++) {
for (int col = 0; col < 3; col++) {
printf("*");
}
printf("\n"); // end the row
}
return 0;
}
Counting with nested loops
- Nested loops also count pairs. To count pairs
(i, j)withi < j, start the inner loop ati + 1. - A counter inside the inner loop adds up the matches.
- Watch the start and end values — off-by-one mistakes are common here.
Menghitung dengan perulangan bersarang
- Perulangan bersarang juga menghitung pasangan. Untuk menghitung pasangan
(i, j)dengani < j, mulai perulangan dalam darii + 1. - Counter di dalam perulangan dalam menjumlahkan kecocokan.
- Perhatikan nilai awal dan akhir — kesalahan off-by-one sering terjadi di sini.
Common mistakes
- The inner loop runs fully for each single turn of the outer loop.
- Check the bounds so a pattern has no extra or missing row.
Kesalahan umum
- Perulangan dalam berjalan penuh untuk setiap putaran tunggal perulangan luar.
- Periksa batasnya agar pola tidak memiliki baris berlebih atau hilang.
Now you try
- Use an inner
printfwithout\nto build a row, then aprintf("\n")to end it. - For the function task, do not write a
main— the checker provides one.
Sekarang Anda coba
- Gunakan
printfdi dalam tanpa\nuntuk membangun baris, laluprintf("\n")untuk mengakhirinya. - Untuk tugas fungsi, jangan tulis
main— penguji menyediakankannya.
In main, use nested loops to print a 3×3 block of * — three stars on each of three lines. · Di dalam main, gunakan perulangan bersarang untuk mencetak blok 3×3 dari * — tiga bintang pada masing-masing dari tiga baris.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
In main, print a left-aligned triangle of * that is 4 rows tall: row 1 has one *, row 2 has two, up to row 4 with four. · Di dalam main, cetak segitiga sejajar kiri dari * yang setinggi 4 baris: baris 1 memiliki satu *, baris 2 memiliki dua, hingga baris 4 memiliki empat.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Complete int count_pairs(int n) so it returns how many pairs (i, j) satisfy 1 <= i < j <= n. Use nested loops (start the inner loop at i + 1). Do not write a main. · Lengkapi int count_pairs(int n) agar mengembalikan berapa banyak pasangan (i, j) yang memenuhi 1 <= i < j <= n. Gunakan perulangan bersarang (mulai perulangan dalam dari i + 1). Jangan tulis main.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.