今週は,配列について学びます.
配列は,同じ型のデータを一つにまとめて扱うために編み出された方法です.多くのデータを扱うには,なくてはならないものです.
int型一つ分の数値を入れることのできる箱を で表すと,
4つのint型変数を用意するには,
int a, b, c, d;
と宣言し,
この図のようなイメージになります.変数a, b, c, d に同じ仲間の数が入るような場合,これらをまとめて扱うために配列を用います.配列を用いて,4つのint型変数を用意するには,
int a[4];
と宣言し,
この図の用なイメージとなり,4つの変数をまとめて配列aとして扱います.
ここで,中身 a[0] から a[3] (0から3の4個であることに注意)を配列 a の要素とよび,a[0] の 0 のことを,添え字とかインデックスと呼びます.
配列を初期化するには,{ } を使って値を列挙します.
int a[4] = { 1, 2, 3, 4 };
int a[4];
int n = 1;
a[0] = 1;
a[1] = 2;
printf("%d\n", a[0]);
printf("%d\n", a[n]);
注意!!:添え字は,0から(要素数-1)の範囲です.この範囲外の要素を参照しようとすると,ハングアップします.
#include <stdio.h> void main() { int a[10] = {1,2,3,4,5,6,7,8,9,10}; int i, sum; sum = 0; for(i=0; i<10; i++){ sum += a[i]; } printf("合計 = %d\n", sum); }
整数型配列に初期値として,{10,20,30,40,50}を設定する.
キーボードから配列の要素番号を入力すると,その配列の要素の値を表示するプログラムを作成しなさい.
#include <stdio.h> void main() { int a[5] = {10, 20, 30, 40, 50}; int num; printf("Select data (0-4):"); scanf("%d", &num); if (num<0 || num>4){ printf("範囲を出ています"); }else{ printf("Data = %d\n",a[num]); } }
整数型配列に初期値として,(10,20,30,40,50)を設定したとき,全ての要素の値を表示するプログラムを作成しなさい.
(forループを使って)
配列に格納された10個の数を,大きい順に並べかえて表示するプログラム(ソート)を作りなさい.
手順:
まず,「応用」のプログラムを利用して,10個の数を画面に表示するプログラムを作ろう.
大きい順に並べ替えるには,どのようなプログラムを作ったらよいか,考えよう.
Oh-o! Meijiのレポートから(第2回)のところへ,演習で作成したプログラムを送る.プログラムには必ず,学年,組,番号,氏名,メールアドレスを記入すること.