#include int main( void ) { /* 変数imaxを宣言する。 */ int imax=3, i, j; /* 配列a、b、cを宣言する。 配列aはimax行imax列の行列に対応する。 また配列bは要素数imaxのベクトル、 配列cは要素数imaxのベクトルに対応する。 */ float a[3][3] = { 0.7,-0.7, 0.0, 0.7, 0.7, 0.0, 0.0, 0.0,-1.0 }; float b[3] = { 2.0, 1.0,-1.0 }; float c[3]; /* 行列aとベクトルbの積を計算する。 */ /* ここからforループが始まる。 */ for (i=0; i<=imax-1; i++) { /* c[i]にゼロを代入する。 */ c[i] = 0.; /* ここからforループが始まる。 */ for (j=0; j<=imax-1; j++) { /* 行列aの(j,i)成分とベクトルbの第j成分の積を、 c[i]に加える。 */ c[i] = c[i] + a[i][j] * b[j]; /* ここでforループが終了する。 */ } /* ここでforループが終了する。 */ } /* 結果を書き出す。 */ /* ここからforループが始まる。 */ for (i=0; i<=imax-1; i++) { /* c[i]の値を標準出力に書き出す。 */ printf( "c[%d] = %f\n", i+1, c[i] ); /* ここでforループが終了する。 */ } return 0; }