0
누가 내 실수를 말할 수 있습니까?매트릭스의 미지정 n x n
행렬식이 올바르지 않습니다!
나는 종이 조각으로 시험을했는데 그 대답은 정확하다!
나는 Matriz [i + 1] [j] = (Matriz [i + 1] [j] - (Matriz [fila] [j] * Matriz [i + 1] [0]/Matriz [fila] [fila]))) "하지만 내 테스트는 정확합니다.
#include <iostream>
#include <stdio.h>
using namespace std;
class Matriznxm{
private:
int n,m;
float **Matriz;
public:
Matriznxm(int f, int c){
n = f;
m = c;
Matriz = new float *[n];
for (int i=0; i<n; i++){
Matriz[i]=new float [m];
}
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
Matriz[i][j]=0.0;
}
}
}
void llenarMatriz(){
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cout << "\nMatriz ["<<i+1<<"]["<<j+1<<"]: ";
cin >> Matriz[i][j];
}
}
}
void mostrarMatriz(){
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cout << Matriz[i][j]<< " ";
}
cout << "\n";
}
}
int determinante(){
float det = 1.0;
int fila = 0;
while(fila < n-1){
for(int i=fila; i<n-1; i++){
for(int j=fila; j<m; j++){
Matriz[i+1][j] = (Matriz[i+1][j] - (Matriz[fila][j]*(Matriz[i+1][0]/Matriz[fila][fila])));
}
}
fila++;
}
for (int i=0; i<n; i++){
det= det * Matriz[i][i];
}
return det;
}
}};() {
int n,m;
cout<<"\nNumero de Filas y Columnas: ";
cin >> n;
cout << "\n\n\n";
m=n;
Matriznxm m1(n,m);
m1.llenarMatriz();
m1.mostrarMatriz();
cout << "\nEl determinante es: "<< m1.determinante() <<"\n\n";
m1.mostrarMatriz();
return 1;
} 올바른 답
는 예 무엇이 입력이고 무엇이 출력이란 메인 INT
입니까? – 4pie0
알고리즘, 브레이크 포인트 및 단계의 각 단계에서 값을 계산하여 해당 값을 확인하고 오류가 발생한 위치를 찾아야합니다. – Aesthete
당신은 mxn이 아닌 nxm 행렬을 가정 할 때만 이것이 올바른 공식이라는 것을 알고 있습니까? – 4pie0