2.配列入門

第6講 配列入門
配列の文法
配列の計算例
配列の目的と用語
• 数学では添え字付き変数が使われている:
x
...
1,x
2,x
i,x
i
1
• 添え字付き変数の性質
–
–
–
–
添え字同士の加減乗除などの演算
添え字付き変数の参照
添え字付き変数同士の加減乗除などの演算
添え字付き変数への代入
• データa0,a1,・・・,anを添え字付き変数の性質を許して、
a[0],a[1],・・・,a[n]と表現する機能があると便利である
• C言語にはその機能が備わっている。
• そのような a=(a[0],a[1],・・・,a[n])
を「1次元配列」ARRAYという。
多次元配列
• データB0,0,b0,1,・・・,bm,nに対して、
b=(b[0,0],・・・,b[0,n]
・・・
b[m,0],・・・,b[m,n])
を「2次元配列」という
• 一般にk次元配列が定められる。
配列の文法
○文法 配列の宣言
形式:型 空白 配列名[整数の並び]
意味:”配列名”を”整数の並び”の次元と大きさをもつ配列とす
る(次元:整数の個数、各次元の大きさ:対応する整数値)。
○文法 配列名:
形式:変数名に準ずる
意味:略
○文法 配列要素
形式:配列名[添え字1,添え字2,・・・,添え字n]
の形の文字列、但し添字1~添え字nは整数又は整数型変数
意味:略
例
○例2.1 配列の宣言
形式:int a[10];
意味:a[0],a[1],・・・,a[9]を整数型配列とする
配列上の演算
○文法:配列要素に対する演算
以下の演算が定められている。
(1)代入
例 a[i]=0; (配列要素a[i]に0を代入)
例 a={0}; (a の全ての要素に0を代入)
(2)配列要素同士の四則演算
略
配列を含むプログラム
○例2.2 配列の利用 1次元配列+反復
データ
入力:a[0],・・・,a[99]
出力:sum=a[0 ]+・・・+a[99]
アルゴリズム (下の図で、sum + I -> sum + a(i)
プログラムリスト
#include<stdio.h>
main(){
int i,sum;int a[100];
sum=0;
for(i=0;i<100;i++){
scanf("%d",&a[i]);
sum=sum+a[i];
}
printf("%d",sum);
}
演習
上のプログラムを作成せよ
• 提出物
– プログラムリスト(1行目に氏名、学生番号)
– 実行例(氏名を入れること)
– 注。3人以上同じでも良い(特に指示の無い代わ
り、以後の演習で同様)。
配列の応用
○例2.3 1次元配列の応用
入力
A 整数の並び データ
n データ数
出力
B Aの要素を逆に並べたもの
即ち、B[1]=A[n], B[1]=A[n-1], …, B[n]=A[0]
演習
上の例2.3のプログラムを作れ
提出物
プログラムリスト
実行例