1
내 타겟은 숫자 n과 n * n 행렬의 요소 (유형 : double)를 읽는 ac 함수를 작성한 후 결과를 얻습니다. 행렬 자체를 곱하기.함수는 매트릭스를 얻은 다음 제곱합니다.
예 :
입력 :
3
1.0 0.0 0.0
1.0 1.0 1.0
0.0 0.0 1.0
출력 :
1.0 0.0 0.0
2.0 1.0 2.0
0.0 0.0 1.0
I이있다 :
#include <stdio.h>
#include <stdlib.h>
void square(){
int n;
scanf("%i", &n);
double**matrix;
matrix=(double**)malloc(n*sizeof(double*));
int i;
for(i=0; i<n; i++){
matrix[i]=(double*)malloc(n*sizeof(double));
}
int j;
for(i=0; i<n; i++){
for(j=0; j<n; j++){
scanf("%d", &matrix[i][j]);
}
}
double**square;
square=(double**)malloc(n*sizeof(double*));
for(i=0; i<n; i++){
square[i]=(double*)malloc(n*sizeof(double));
}
int k;
for(i=0; i<n; i++){
for(j=0; j<n; j++){
square[i][j]=0;
for(k=0; k<n; k++){
square[i][j]+=matrix[i][k]*matrix[k][j];
}
printf("%d ", square[i][j]);
}
printf("\n");
}
}
int main(){
square();
return 0;
}
내 문제가 단지 하나 개의 행을 판독 할 수 있다는 것이다 매트릭스, 그럼 내가 다시 th 임의의 n * n 행렬의 e 제곱. 어쩌면 나는 변수를 나쁜 방식으로 사용하고 있을지 모르겠습니다.
저는 초급자이며 숙제입니다.
도움 주셔서 감사합니다. 나쁜 영어로 유감스럽게 생각합니다!
감사합니다. 이제는 전체 행렬을 줄 수는 있지만 결과로 잘못된 행렬을 얻습니다. – Mathiassa
% f에 대한 답이 잘못되었지만 % lf에 맞지 않습니다. – Mathiassa