Está en la página 1de 2

#include<iostream>

using namespace std;


int main(){
int n;
cout<<"Ingrese el tamao de la matriz\n";
cin>>n;
double A[n*n];
do{
if(n==1){
cout<<"Ingrese los elementos de la matriz\n";
cin>>A[n];
cout<<"El determinante es "<<A[n]<<" La inversa es "<<1/
A[n]<<endl;
break;
}
else{
if(n==2){
cout<<"Ingrese los elementos de la matriz\n";
for(int i=0;i<n*n;i++){
cin>>A[i];
}
double det, B[n*n];
det=(A[0]*A[3])-(A[1]*A[2]);
cout<<"El determinante es: "<<det<<endl;
if(det!=0){
B[0]=A[3];
B[1]=A[1]*(-1);
B[2]=A[2]*(-1);
B[3]=A[0];
for(int j=0;j<n*n;j++){
A[j]=(1/det)*B[j];
}
cout<<"La matriz inversa es\n";
for(int k=0;k<n*n;k++){
if(k<=1)
cout<<A[k]<<" ";
cout<<endl;
}
}
else{
cout<<"La matriz no tiene inversa\n";
}
break;
}
else{
if(n==3){
cout<<"Ingrese los coeficientes de la ma
triz\n";
for(int i=0;i<n*n;i++){
cin>>A[i];
}
double det,B[n*n],C[n*n];
det=(A[0]*A[4]*A[8])+(A[1]*A[5]*A[6])+(A
[2]*A[3]*A[7])-(A[2]*A[4]*A[6])-(A[1]*A[3]*A[8])-(A[0]*A[5]*A[7]);
cout<<"El determinante de la matriz es:
"<<det<<endl;
if(det!=0){
B[0]=A[4]*A[8]-A[5]*A[7];
B[1]=(A[3]*A[8]-A[5]*A[6])*(-1);
B[2]=A[3]*A[7]-A[4]*A[6];
B[3]=(A[1]*A[8]-A[2]*A[7])*(-1);
B[4]=A[0]*A[8]-A[6]*A[2];
B[5]=(A[0]*A[7]-A[2]*A[6])*(-1);
B[6]=A[1]*A[5]-A[4]*A[2];
B[7]=(A[0]*A[5]-A[3]*A[2])*(-1);
B[8]=A[0]*A[4]-A[1]*A[3];
C[0]=B[0];
C[1]=B[3];
C[2]=B[6];
C[3]=B[1];
C[4]=B[4];
C[5]=B[7];
C[6]=B[2];
C[7]=B[5];
C[8]=B[8];
for(int j=0;j<n*n;j++){
A[j]=(1/det)*C[j];
}
cout<<"La inversa de la matriz e
s:\n";
for(int k=0;k<n*n;k++){
cout<<A[k]<<" ";
}
}
else{
cout<<"La matriz no tiene invers
a\n";
}
break;
}
}
}
}
while(n>0);
}

También podría gustarte