ここからは、いくつかのプログラムの例を見ながらさらなるCプログラミングの方法を説明していく。
この章では内積を計算するプログラムを例に前処理、配列について見ていく。 内容は、はじめに 2 つのベクトル vec1, vec2 に初期値を代入し、ベ クトル vec3 に計算結果を代入し、最後に結果を出力する。
scapro.c -------------------------------------------------------------
#include<stdio.h>
#define L 1
#define M 3
#define N 1
int main(){
int i,j,k, sum;
int vec1[L][M]={1,2,3};
int vec2[M][N]={5,6,7};
int vec3[L][N];
for(i = 0; i < L; i++){
for(j = 0; j < N; j++){
sum = 0.;
for(k = 0; k < M; k++){
sum = sum+vec1[i][k]*vec2[k][j];
}
vec3[i][j] = sum;
}
}
printf("vec1 = (%d, %d, %d) \n",vec1[0][0],vec1[0][1],vec1[0][2]);
printf("vec2 = (%d, %d, %d) \n",vec2[0][0],vec2[1][0],vec2[2][0]);
printf("vec1・vec2 = %d \n",vec3[0][0]);
}
実行結果 -------------------------------------------------------------
s1:~/c_text> gcc -o scapro scapro.c
s1:~/c_text> ./scapro
vec1 = (1, 2, 3)
vec2 = (5, 6, 7)
vec1・vec2 = 38
s1:~/c_text>
----------------------------------------------------------------------