配列は一連のデータを一旦記憶しておいて利用する必要があるときに使われま す。例としてデータの平均値と標準偏差を求める場合を考えます。 平均値を求めるだけの場合、配列は必ずしも必要ありません。次のプログラムを 見てください。
// sample01.cpp // 平均値 #include <iostream.h> #include <iomanip.h> int main() { cout << "10個の整数データを入力してください:" << endl; int sum = 0; // データの合計(0で初期化) int data; // 入力データ for(int i = 0; i< 10; i++){ cout << setw(3) << i+1 << ": "; cin >> data; sum += data; } cout << "合計値: " << sum << endl << "平均値: " << sum / 10.0 << endl; return 0; } |
10個の整数データを入力してください: 1: 12 2: 23 3: 67 4: 31 5: 55 6: 9 7: 42 8: 81 9: 63 10: 70 合計値: 453 平均値: 45.3 |
// sample02.cpp // 平均値と標準偏差 #include <iostream.h> #include <iomanip.h> #include <math.h> int main() { cout << "10個の整数データを入力してください:" << endl; const int n = 10; // データ数 int data[n];// 入力データを納める配列 double sum = 0.0; // データを入力して平均値を求める int i; for(i = 0; i< n; i++){ cout << setw(3) << i+1 << ": "; cin >> data[i]; sum += data[i]; } double ave = sum /n; // 平均値 cout << " 合計値: " << sum << endl << " 平均値: " << ave << endl; // 標準偏差を求める sum = 0.0; for(i = 0; i < n; i++) sum += ( data[i] - ave ) * ( data[i] - ave ); double stdv = sqrt( sum /n ); cout << "標準偏差:" << stdv << endl; return 0; } |
// sample03.cpp // 平均値と標準偏差(配列を使わないバージョン) #include <iostream.h> #include <iomanip.h> #include <math.h> int main() { cout << "10個の整数データを入力してください:" << endl; const int n = 10; // データ数 int data; // 入力データを納める変数 double sum1 = 0.0; // 和 double sum2 = 0.0; // 2乗和 // データを入力して平均値と標準偏差を求める int i; for(i = 0; i< n; i++){ cout << setw(3) << i+1 << ": "; cin >> data; sum1 += data; sum2 += data * data; } double ave = sum1 / n; // 平均値 double stdv = sqrt(sum2 / n - ave * ave);// 標準偏差 cout << " 合計値: " << sum1 << endl << " 平均値: " << ave << endl << "標準偏差: " << stdv << endl; return 0; } |
Copyright(c) 1999-2001 Yamada,K