第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を開いて勉強しましょう。
次のような実行画面を実現するのはどうしたらよいでしょうか。
01

といっても初心者の方に、これをいきなり組んでいただくことは、
むずかしすぎる課題ですから、
コード例を示しましょう。
#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話へ
a

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ