オープン授業第5回目 配列1 配列について2回に分けて 説明していきます 今回学んで行く内容 前回の復習 配列とは 配列の宣言 配列の初期化 配列で注意すること 配列とfor文 ちょっと復習 例題で実践 前回の復習 for文を使って「*」をピラミッド型に並べる例を次の ページにのせています。 (今回は高さ10) 例 ←*の左側のスペース数 ←*の数 実行結果 問題 例を参考にしてfor文の中身を書き換えて 逆ピラミッド型に表示してみましょう。 ヒント j-- はデクリメント(第2回参考)でjを1ずつ減らして 行く。 逆ピラミッド型ならスペースは増えてていき、 *は徐々に減って行く。<などの向きに注意! (3つ目のfor文で真ん中の式をそのまま利用する 場合はkの値は10では高さが低くなってしまう) 回答 プログラムの回答例 回答例のため、 他の書き方でも OKです。 配列とは 今まで習った変数では1つの変数につき1つの値 しか格納することができませんでした。 ですが、配列を利用することで複数の値を格納す ることが出来るようになります。 また、配列は0番目から始まります。 (数え間違いに注意!) どうして配列を使うのか 例えばテストの点数を200人分管理する時、 1つずつ変数を用意すると200個の変数が必要になり 200回変数を宣言しなければならなくなります。(数が 増えると事実上不可能) 配列を利用すれば1回の宣言で200人分の点数を管 理することができます。 配列の宣言 配列の宣言の仕方はint型の場合 int a[整数]; です。例えば int a[10]; と宣言すれば10個の値を格納できます。 また、格納することのできる数のことを要素数とい い、この場合では要素数は10です。 配列の初期化 配列を宣言する際に int a[5] = {0,1,2,3,4}; と宣言することで、宣言と同時に値を格納することができます。 また初期値がバラバラな値でない場合はfor文を使って代入す ることもできます。 int a[10]; for(int i=0;i<10;i++) a[i] = i; 配列で注意すること 冒頭で説明したように、配列の要素は1番目ではなく 0番目から数え始めます。そのため int a[3] = {0,1,2}; と宣言した場合 cout << a[0]; ⇨ 0 cout << a[1]; ⇨ 1 cout << a[2]; ⇨ 2 と表示され、cout << a[3]; とするとエラーが表示されます。 配列とfor文 配列でcout << a[0]; cout << a[1]; : : cout << a[5]; と書くと要素数が1000だと1000回coutを書かなければ なりません。その際に便利なのがfor文です。 int main(){ int a[5]={0,1,2,3,4}; for(int i=0; i<5; i++){ ←i<5の部分の数値を増やせばよい cout<<a[i]<<”¥n”; } } ここでちょっと復習 変数に設定したデータの合計を求める(従来の方法) #include<iostream> using namespace std; int main() { int a,b,c,d,e; ←人数分変数を用意する(多数の場合,事実上不可能) int gokei; a=10; b=20; c=30; d=40; e=50; ←それぞれの変数に代入 gokei=a+b+c+d+e;←多数の場合,このように書き切るのは事実上不可能 cout << ”goukei = ” << goukei << endl; } 重大な欠点:データの個数が増えると非常に困る(書き切れない) これと同じ内容を配列で作ると... 前問の改良版 #include<iostream> using namespace std; int main() { ↓0番目から5個分用意される int a[5]; ←int型変数 a[0]a[1]a[2]a[3]a[4]が用意される(これが配列) int gokei; a[0]=10; a[1]=20; a[2]=30; a[3]=40; a[4]=50; ←int a[5] = {10,20,30,40,50}とすればここは書かなくてよくなる gokei=0; ←合計を0からスタートさせる for(i=0;i<=4;i=i+1) ←0番目・1番目・・・4番目とiが変化する { gokei=gokei+a[i]; ←i=0,1,2,3,4と変化するので実質的に } gokei=a[0]+a[1]+a[2]+a[3]+a[4];と同じ cout << ”goukei = ” << goukei << endl; } gokei=a[0]+a[1]+a[2]+a[3]+a[4]となりgokei=150 配列を利用することで一度に複数の変数を用意することができます。 gokei = gokei+a[i];は gokei += a[i];と表してもよい 例題1 1〜5の値を配列aに格納して表示してみよう 実行結果 例題1の答え 例題2 次に例題1で作った配列を足して その結果をint型の変数sumに格納し、 表示させましょう 実行結果 ヒント for文を利用してsumに配列a[0]~a[4]の 数を足していく。 ↓今回だとこんなふうに sum+a[0] 0+1 (sum+a[0])+a[1] 1+2 3+3 これをfor文を使って処理していく。 例題2の答え 配列a[0]~a[4]を利用→ まとめ 1. 配列は複数の値を格納することが出来る。 2. 配列は0番目から始まる。
© Copyright 2024 ExpyDoc