Dalam tutorial ini, kita akan belajar tentang loop bersarang di C ++ dengan bantuan contoh. Kita juga akan belajar tentang break dan melanjutkan di Nested Loop.
Sebuah loop dalam loop lain disebut loop bersarang. Mari kita ambil contoh,
Misalkan kita ingin mengulang setiap hari dalam seminggu selama 3 minggu.
Untuk mencapai ini, kita dapat membuat loop untuk melakukan iterasi tiga kali (3 minggu). Dan di dalam loop, kita dapat membuat loop lain untuk mengulang 7 kali (7 hari). Beginilah cara kita menggunakan loop bersarang.
Contoh: Bersarang untuk Loop
// C++ program to display 7 days of 3 weeks #include using namespace std; int main() ( int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( cout << " Day:" << j << endl; ) ) return 0; )
Keluaran
Minggu: 1 Hari: 1 Hari: 2 Hari: 3… Minggu: 2 Hari: 1 Hari: 2 Hari: 3……
Kita dapat membuat loop bersarang dengan while dan do… dengan cara yang serupa.
Contoh: Menampilkan Pola
// C++ program to display a pattern // with 5 rows and 3 columns #include using namespace std; int main() ( int rows = 5; int columns = 3; for (int i = 1; i <= rows; ++i) ( for (int j = 1; j <= columns; ++j) ( cout << "* "; ) cout << endl; ) return 0; )
Keluaran
* * * * * * * * * * * * * * *
Dalam program ini, loop luar melakukan iterasi dari 1
ke baris.
Loop bagian dalam melakukan iterasi dari 1
ke kolom. Di dalam loop dalam, kami mencetak karakter '*'
.
istirahat dan lanjutkan di dalam Nested Loops
Ketika kita menggunakan pernyataan break di dalam loop dalam, itu mengakhiri loop dalam tetapi bukan loop luar. Sebagai contoh,
Contoh: istirahat di dalam Nested Loops
#include using namespace std; int main() ( int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( // break during the 2nd week if (i == 2) ( break; ) cout << " Day:" << j << endl; ) ) )
Keluaran
Minggu: 1 Hari: 1 Hari: 2… Minggu: 2 Minggu: 3 Hari: 1 Hari: 2…
Program ini tidak menjalankan loop dalam ketika nilai i adalah, 2
yaitu tidak mencetak hari-hari dari minggu ke-2. Lingkaran luar yang mencetak minggu tidak terpengaruh.
Demikian pula, ketika kita menggunakan pernyataan lanjutkan di dalam loop dalam, itu melewatkan iterasi saat ini dari loop dalam saja. Loop luar tidak terpengaruh. Sebagai contoh,
Contoh: lanjutkan di dalam Nested Loops
#include using namespace std; int main() ( int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( // continue if the day is an odd number if (j % 2 != 0) ( continue; ) cout << " Day:" << j << endl; ) ) )
Keluaran
Minggu: 1 Hari: 2 Hari: 4 Hari: 6 Minggu: 2 Hari: 2 Hari: 4 Hari: 6 Minggu: 3 Hari: 2 Hari: 4 Hari: 6
Program ini hanya mencetak hari-hari yang genap.
Kapan pun days_in_week ganjil, continue
pernyataan itu melewatkan iterasi loop dalam.