第5講 ブロック崩しその3(ブロックを描き、ボールがブロックに当たったら跳ね返るようにする)
第3話 2次元ループ処理
縦横の二つの方向を持った繰り返し処理、
すなわち2次元のループ処理はどうやったら実現できるのでしょうか。
答えは、ループの中に入れ子式にループを入れるです。
int i,j;
for(i=0;i<10;i++){
・・・
・・・
for(j=0;j<10;j++){
・・・
・・・
・・・
}
・・・
・・・
}
または
int i=0,j=0;
while(i<10){
・・・
・・・
whiel(j<10){
・・・
・・・
j++;
}
・・・
・・・
i++;
}
なんだ。
簡単なことだと、思うかもしれませんが、
初心者にはかなり高いハードルです。
基礎の学習ですから、
ここでもソリューションConsoleApplication1を開いて勉強しましょう。
次のような実行画面を実現するのはどうしたらよいでしょうか。
といっても初心者の方に、これをいきなり組んでいただくことは、
むずかしすぎる課題ですから、
コード例を示しましょう。
#include<stdio.h>
void f();
int main()
{
f();
return 0;
}
void f() {
int a,i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
a = 3 * i + j + 1;
if (a < 10)printf("0%d ", a);
if(a>=10 && a<100)printf("%d ", a);
}
printf("\n");
}
}
コピペ用添付ファイル
(あくまで例ですよ。解答例は無数にあります。)
このコードを見て、すんなり理解できる人は、
かなり優秀な方です。
ほとんどの方は、「えっ、なにこれ?????」だと思いますよ。
疑問はたくさんあると思います。
a = 3 * i + j + 1;の式がどうしてこうなるの?
if (a < 10)printf("0%d ", a);の意味は?
printf("\n");がどうして必要なの?
などです。
そして、なんといってもiとjの動きがどうなるのか、
皆目見当がつかない方が多いのではないでしょうか。
かなり詳しい解説になりますので、
次話で説明することにしましょう。
第2話へ 第4話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ