Kali ini Anda diminta untuk membuat /
menampilkan berapa banyak baris yang diminta oleh user tapi dengan menggandakan setiap baris yang dicetak di layar.
Misalnya, jumlah baris yang diminta adalah 5, maka yang tercetak adalah:
11
2222
333333
44444444
5555555555
#include
<iostream>
using
namespace std;
void main
() {
int in;
cout << "banyaknya baris:
";
cin >> in;
for (int i = 1; i <= in; ++ i) {
for (int j = 1; j <= i * 2; ++j)
{
cout << i;
}
cout << "\n";
}
}
Logika:
Logika yang digunakan di sini cukup mirip dengan cara
kita mencetak segitiga siku –siku ke layar. Mungkin bisa dibilang ini masih ada
“hubungan keluarga” dengan yang tadi J. Disini kita melakukan perulangan untuk mencetak baris
yang diminta oleh user. Dalam
melakukan perulangan tersebut, kita menampilkan baris yang dicetak pada saat
itu. Misalnya jika baris yang sedang dicetak pada saat itu adalah baris kedua,
maka yang ditampilkan adalah angka 2. Begitu seterusnya. Perhatikan bahwa angka
– angka yang dicetak memiliki sebuah pola. Pada setiap baris yang sedang dicetak
pola dari angka –angkanya adalah: baris
yang sedang dicetak dikali 2.
Misalnya pada baris pertama, jumlah angka / banyaknya angka yang dicetak adalah 1 X 2 = 2 kali di
cetak. Pada baris kedua, banyaknya baris yang di cetak adalah 2 X 2, dst. Hal
ini berlanjut sampai baris yang diinginkan oleh user sudah tercetak.
Penjelasan kode:
Pada kode di atas, dibuat variabel untuk menampung
berapa banyak baris yang diinginkan oleh user
(in), just like usual J. Berdasarkan input
dari user tersebut, kita membuat
perulangan untuk mencetak baris – baris yang diinginkan user. Dalam perulangan ini, kita “menyisipkan” sebuah perulangan
lagi untuk mencetak angka ke layar (dengan menggunakan variabel j). Perulangan ini dilakukan dengan
kondisi j lebih kecil atau sama
dengan i dikali 2. Dimana, i adalah baris yang sedang
dikerjakan dan j adalah berapa banyak perulangan yang dilakukan dalam kondisi j lebih kecil atau sama dengan i.
Tidak ada komentar:
Posting Komentar