Matriz inversa DevC++
Enviado por AxelGi • 22 de Agosto de 2015 • Tarea • 3.072 Palabras (13 Páginas) • 257 Visitas
#include
#include
#include
#include
#define p printf
#define s scanf
void escalonamiento(void);
void inversa(void);
void permuta(int r1, int r2);
void multire(int r,double fac);
void sumaremul(int r1,int r2, double fac);
void trinsu(int rp, int cp);
void trinf(int rp, int cp);
void matid(void);
double m[50][50];
double I[50][50];
int g;
int main(){
int ren, colu;
system("color 9f");
p("\n\n\tPrograma que calcula la matriz inversa por Gauss\n\n\tde orden menor a 50 y mayor a dos \n\n");
p("\n\tPor favor, ingresa el orden de la matriz: ");
s("%i",&g);
if(g>=2 && g<=50){
for(ren=0;ren
for(colu=0;colu
p("\n\tIngrese el valor de matriz[%i][%i] ",ren+1,colu+1);
s("%lf",&m[ren][colu]);}}
p("\n\tLa matriz que ingres\242 es:\n\n");
for(ren=0;ren
p("\n");
for(colu=0;colu
p("%10.2f", m[ren][colu]);}
p("\n");}
inversa();}
else {
p("\n\tEl valor es demasiado grande o peque\244o\n\tGracias");
getch();}
return 0;}
void inversa(void){
int c,c2, flag=0;
escalonamiento();
matid();
for(c=0;c
for(c2=0;c2
if(m[c][c2]!=0){
if(m[c][c2]!=1){
multire(c,pow(m[c][c2],-1));}
trinsu(c,c2);
trinf(c,c2);
break;}}}
for(c=0;c
for(c2=0;c2
if(c==c2){
if(m[c][c2]!=1) flag=1;}
else{
if(m[c][c2]!=0) flag=1;}}}
if(flag==1){
p("\n\n\tLa matriz no tiene inversa\n\n");}
else{
p("\n\n\tLa Matriz Inversa es :\n\n");
for(c=0;c
printf("\n");
for(c2=0;c2
p("\t%+#0.3f ",I[c][c2]);}
p("\n");}}
p("\n\n\tGracias xD\n\n");
getch();}
void escalonamiento(void){
int c, col, ceros, d[10];
int flag, aux;
for(c=0;c
col=0,ceros=0;
if(m[c][col]==0){
do{
ceros++;
col++;}
while(m[c][col]==0);}
d[c]=ceros;}
...