오류좀 잡아주세요 ;;
새늘
오류좀 잡아주세요 고수님들~질문 내용 :
#include stdio.h
int mat_mul(int n1, int n2, int n3, int* m1, int* m2, int* m3); //행렬을 곱하는 함수
int main()
{
int n1, n2, n3, i, j;
int m1[3][4];
int m2[4][3];
int m3[3][3];
file* file = fopen(test.txt,r); //고수준 입출력으로 파일을 오픈, 읽기 전용 텍스트 모드임
if(file==null){ //파일 오픈 실패 시(즉 해당 파일을 찾지 못한 경우)
printf(file open error!\n);
return 1;
}
fscanf(file, %d %d %d, &n1, &n2, &n3); //fscanf는 입력 스트림을 지정할 수 있습니다. 여기서 입력 스트림은 file, 모니터 입력이면 stdin이죠
//여기서는 test.test에서 3,4,3읽어 와서 n1,n2,n3에 집어 넣겠죠, 참고로 스캔에프는 공백단위로 입력을 받습니다.
for(i=0; i3; i++){
for(j=0; j4; j++)
fscanf(file, %d, &m1[i][j]); //m1행렬을 파일로부터 읽는다.
}
for(i=0; i4; i++){
for(j=0; j3; j++)
fscanf(file, %d, &m2[i][j]); //m2행렬을 파일로부터 읽는다.
}
printf(\n\n행렬 a\n); //m1행렬 출력
for(i=0; i3; i++){
for(j=0; j4; j++){
printf(%d , m1[i][j]);
}
printf(\n);
}
printf(\n행렬 b\n); //m2행렬 출력
for(i=0; i4; i++){
for(j=0; j3; j++){
printf(%d , m2[i][j]);
}
printf(\n);
}
mat_mul(n1, n2, n3, m1, m2, m3); //m1행렬과 m2행렬의 곱을 위해 mat_mul 함수 호출
printf(\n행렬 c\n); //m3함수 호출
for(i=0; i3; i++){
for(j=0; j3; j++){
printf(%d , m3[i][j]);
}
printf(\n);
}
fclose(file); //파일 이용이 끝났으므로 닫아준다.
return 1;
}
int mat_mul(int n1, int n2, int n3, int (*m1)[4], int (*m2)[3], int (*m3)[3])
{
int i, j, k; //행렬 m1,m2를 곱하여 m3에 결과 저장
for(i=0; i for(j=0; j m3[i][j]=0;
for(k=0; k=n3; k++)
m3[i][j]+=m1[i][k]*m2[k][j];
}
}
return 1;
}