[ create a new paste ] login | about

Link: http://codepad.org/Ddn9Ih36    [ raw code | output | fork ]

C, pasted on Jan 24:
#include <stdio.h>

#define N 2

void calc(int a[][N],int b[],int ans[]);

int main(void){
	int a[N][N];
	int b[N],ans[N];
	int i,j;
	char buf[32];

	for(i=0;i<N;i++){ /*結果の代入先の初期化*/
		ans[i]=0;
	}

	for(i=0;i<N;i++){ /*行列Aへの代入*/
		for(j=0;j<N;j++){
			printf("Input a[%d][%d] >>>",i,j);
			scanf("%d",&a[i][j]);
		}
	}

	for(i=0;i<N;i++){ /*列ベクトルBへの代入*/
		printf("Input b[%d] >>>",i);
		scanf("%d",&b[i]);
	}
	
	calc(a,b,ans);

	printf("******* Ans *******\n");
	for(i=0;i<N;i++){ /*結果の表示*/
		printf("%d\n",ans[i]);
	}

	return 0;
}

/*行列と列ベクトルの積を求めるプログラム*/
/*引数 a: 行列, b: 列ベクトル, c: 答えを格納する配列*/
void calc(int a[][N],int b[],int ans[]){
	int i,j;
	
	for(i=0;i<N;i++){
		for(j=0;j<N;j++){
			ans[i]+=a[i][j]*b[j];
		}
	}
}


Output:
1
2
3
Input a[0][0] >>>Input a[0][1] >>>Input a[1][0] >>>Input a[1][1] >>>Input b[0] >>>Input b[1] >>>******* Ans *******
639324288
-53331664


Create a new paste based on this one


Comments: