多重ループ
for文を使って、以下のように描く。
★★★★★
★★★★☆
★★★☆☆
★★☆☆☆
★☆☆☆☆
考え方は、5行あるため、for文で5回繰り返す。5列あるため、1行ごとに★と☆の描画回数が以下になるように内側のfor文を工夫する。
行方向の繰り返し1回目、★は5つ、☆は0。
行方向の繰り返し2回目、★は4つ、☆は1。
行方向の繰り返し3回目、★は3つ、☆は2。
行方向の繰り返し4回目、★は2つ、☆は3。
行方向の繰り返し5回目、★は1つ、☆は4。
for文で5回繰り返すとき、「for (loop=0; loop<5; loop++)」は常套手段。loopの値は0、1、2、3、4と増えていく。このとき変数loopは内側のfor文で☆を描く回数でもある。内側のfor文で★を描く回数は「5-loop」。
for (loop=0; loop<5; loop++) {
for (bstar=0; bstar<5-loop; bstar++) {
★を描画;
}
for (wstar=0; wstar<loop; wstar++) {
☆を描画;
}
}
上記のプログラムを適宜、言語の文法に書き換えればよい。5という数値を変数に代入しておけば、プログラムの柔軟性は(若干)高くなる。
この記事が気に入ったらサポートをしてみませんか?