第6講 配列
第2話 配列の宣言と使い方
そのやり方は、
  int a[10000];
です。これで1万個の変数が用意できます。
どのような変数が用意できたかと申しますと、
a[0],a[1],a[2],・・・,a[9999]
の1万個です。
最後がa[10000]でないことに注意して下さい。
0から始まっていますので、9999が1万個目になるのです
これを忘れて、
  a[10000]=5;
などするとエラーします。
配列のことを添え字付き変数ともいいます。
添え字とは[]内の数字です。
配列は、一瞬にして多くの変数を用意できるだけでなく、
添え字が、for文の制御変数で制御できるという大変大変大きなメリットを持っています。
例によって具体例を示しましょう。
#include<iostream> //入出力のために組み込む
using namespace std; //coutを使えるようにするために必要

int main() {
  int a[10],i; //配列aと制御変数iの宣言
  for (i = 0; i < 10; i++)a[i] = i + 1; //データ入力
  for (i = 0; i < 10; i++)printf("%d ", a[i]); //データ出力
  cout<<endl; //改行
}
実行画面
1 2 3 4 5 6 7 8 9 10

このコードを
#include<iostream> //入出力のために組み込む
using namespace std; //coutを使えるようにするために必要
int main() {
  int a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,i; //配列aと制御変数iの宣言
  for (i = 0; i < 10; i++)a
i = i + 1; //データ入力
  for (i = 0; i < 10; i++)printf("%d ", a
i); //データ出力
  printf("\n"); //改行
}
等とするとエラーします。
同じ添え字でもa0とa[0]では天と地ほど違うのです。
配列の添え字は、制御変数で制御できる!
これが大きなメリットなのです。

さて、なるべく仕事は部下にやらせて、
main()は指令役に徹するが原則ですから、
この講のこれ以降のコードは
#include<iostream> //入出力のために組み込む
using namespace std; //coutを使えるようにするために必要
void f();
int main() {
  f();
  return(0);
}
void f(){
  int a[10],i; //配列aと制御変数iの宣言
  for (i = 0; i < 10; i++)a[i] = i + 1; //データ入力
  for (i = 0; i < 10; i++)printf("%d ", a[i]); //データ出力
  cout<<endl; //改行
}
という形にします。
ポインタを学習しないと、
変数そのものや配列そのものを
実質渡すことが出来ませんので、
現時点では、上のように書き換えることは余り意味がありませんが、
なんでも社長自ら仕事をやってしまうという悪癖を付けないための
次善の策です。
第7講でポインタを学んだ後、
配列や変数を
実質渡すということを学んで、
それを実行すれば書き換えにははっきりと意義が生まれます、
ということを断っておきましょう。
実質が繰り返されている理由は、
ポインタを使っても箱そのものを渡せるわけではないからです。
箱そのものを渡せないのに仕事を依頼した人に自分専用の箱を使ってもらうという−−−
魔法にような方法をC++は持っているのです。
では問題です。
関数f()に2次元のデータ作成と表示をやらせて、
41 67 34 0 69 24 78 58 62 64
を実現して下さい。
もちろん配列を利用することが条件です。
発生させるデータは100未満のランダムな整数です。
#include<stdlib.h> //rand()を使用できるようにインクルード
が必要ですね。


第1話へ   第3話へ

002

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

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