プログラミング入門 5. 配列
この記事は、下記プログラミング入門資料の一部です。
配列とは
整数の入れ物を1個作るときは
int a;
としました。
2個作るときは
int a; int b;
のようにしました。
このように入れ物を複数個作る場面では、その数だけ書けば良いのですが、個数が100000個とかになってくると面倒になります。
そこで整数の入れ物を一発で100000個つくる方法を考えます。
int a[100000];
こうすることで、整数の入れ物が100000個出来ました。これを「配列」と呼びます。
この入れ物には、前からa[0]、a[1]、a[2]、 ... 、a[99999]と名前がついています。
注意しなければならないのは、このナンバリングが0から始まっていることです。100個の配列を作ると、a[0]からa[99]までの100個の入れ物が出来ます。
練習問題の解説
整数が3つ与えられるので、3つ入る配列をつくり、入力をそれぞれa[0]、a[1]、a[2]に入れておきましょう。
「a[0]とa[1]が同じならa[2]を出力、そうでない場合、a[1]とa[2]が同じならa[0]を出力、それでもない場合はa[1]を出力」というプログラムを作成します。
#include <iostream> using namespace std; int main(void){ // Here your code ! //整数の入れ物を3個つくる int a[3]; //a[0]に入力を入れる cin >> a[0]; //a[1]に入力を入れる cin >> a[1]; //a[1]に入力を入れる cin >> a[2]; //a[0]とa[1]が同じならa[2]を出力、そうでない場合、a[1]とa[2]が同じならa[0]を出力、それでもない場合はa[1]を出力 if(a[0] == a[1]){ cout << a[2] <<endl; } else if(a[1] == a[2]){ cout << a[0] <<endl; }else{ cout << a[1] <<endl; } }
練習問題2の解説
3つ入る配列sとeを作って、入力を受け取りましょう。
各sとeについて、s*e/10が得点として加算されます。
解答例は以下の通り。
#include <iostream> using namespace std; int main(void){ // Here your code ! //3つ配列を作る(配点用) int s[3]; //3つ配列を作る(評価用) int e[3]; //入力を受け取りまくる cin >> s[0]; cin >> e[0]; cin >> s[1]; cin >> e[1]; cin >> s[2]; cin >> e[2]; //答を入れるためにanswerをつくる。 int answer; //最初は0を入れておく。 answer = 0; //計算結果を答に加えていく answer = answer + s[0] * e[0] / 10; answer = answer + s[1] * e[1] / 10; answer = answer + s[2] * e[2] / 10; //答えを出力する cout << answer << endl; }