ソースとしてはまだ途中なのですが原因がどこにあるのか分からないのでのせさせていただきました.
よろしくお願いします.
#include<stdio.h>
#include<stdlib.h>
#define MAX 10
int tra_matrix(int mat[][MAX],int transmata[][MAX],int row,int col) /*行列の転置*/
{
int i,j;
for(i=0;i<row;i++){
for(i=0;i<col;i++){
transmata[j][i]=mat[i][j];
}
}
}
int set_matrix(int mat[][MAX],int row,int col) /*行列の要素の入力*/
{
int num=0;
int i,j;
for(i=0;i<row;i++){
for(j=0;j<col;j++){
printf("mat[%d][%d]=",i,j);
scanf("%d",&mat[i][j]); num++;
}
}
return num;
}
int add_matrix(int mata[][MAX],int matb[][MAX],int tmp[][MAX],int row,int col) /*行列の加算*/
{
int i,j;
for(i=0;i<row;i++){
for(j=0;j<col;j++){
tmp[i][j]=mata[i][j]+matb[i][j];
}
}
}
void put_matrix(int mat[][MAX],int row,int col) /*行列の表示*/
{
int i,j;
for(i=0;i<row;i++){
for(j=0;j<col;j++){
printf("mat[%d][%d]=%d ",i,j,mat[i][j]);
}
puts("");
}
return;
}
int main(void)
{
int matrixa[MAX][MAX],matrixb[MAX][MAX],transmata[MAX][MAX],transmatb[MAX][MAX];
int n,m;
int count;
int tmp[MAX][MAX];
printf("matrix's size n:"); scanf("%d",&n);
printf(" m:"); scanf("%d",&m);
count=set_matrix(matrixa,n,m);
if(count!=n*m) exit(EXIT_FAILURE);
count=set_matrix(matrixb,n,m);
if(count!=n*m) exit(EXIT_FAILURE);
add_matrix(matrixa,matrixb,tmp,n,m);
puts("A+B=");
put_matrix(tmp,n,m);
tra_matrix(matrixa,transmata,n,m);
put_matrix(matrixa,n,m);
put_matrix(transmata,m,n);
return EXIT_SUCCESS;
}