ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Matriz inversa DevC++


Enviado por   •  22 de Agosto de 2015  •  Tarea  •  3.072 Palabras (13 Páginas)  •  258 Visitas

Página 1 de 13

#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;}

...

Descargar como (para miembros actualizados) txt (6 Kb) pdf (34 Kb) docx (11 Kb)
Leer 12 páginas más »
Disponible sólo en Clubensayos.com