• Lunes 15 de Septiembre de 2025, 13:38

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - AugustZamo

Páginas: [1]
1
Visual C++ / Re: Codigo de Matriz Inversa y Método de Gauss
« en: Jueves 15 de Abril de 2010, 18:21 »
Ya lo resolvi:
Inversa de una Matriz
#include <iostream>
using namespace std;

int i,j, k, s;
float m1[1000][1000], coef, aux[1000], elemento;
     
int main()
{
   cout << "ntBienvenido al Generador de Matrices Inversasn";
   cout << "Por favor introduzca el tamaño de la matrizn";
   cin >> k;
   
   for (i=0;i<k;i++)
      {
         for (j=0;j<k;j++)
         {
            cout << "Ingrese el valor de [" <<i<<"]["<<j<<"]";
            cin >> m1 [j];
         }
      }

   for (i=0;i<k;i++)
      for(j=k;j<2*k;j++)
      {
         if(i==(j-k))
            m1[j]=1;
         else
            m1[j]=0;
      }
      //Iteraciones
      for (s=0;s<k;s++)
      {
         elemento=m1;
         for (j=0;j<2*k;j++)
            m1[j]=m1[j]/elemento;

         for(i=0;i<k;i++)
         {
            if (i==s)
               ;
            else
            {
               coef= m1;
               for (j=0;j<2*k;j++)
                  aux[j]=m1[j]*(coef*-1);
               for (j=0;j<2*k;j++)
                  m1[j]=m1[j]+aux[j];
            }
         }
      }
      //Imprimir la matriz inversa
      
      for (i=0;i<k;i++)
      {
         for(j=k;j<2*k;j++)
            cout << "t"<<m1[j];
         if (j==k)
            cout <<"n";
      }
      
}


Método de Gauss
#include <iostream>
using namespace std;

int i,j,k,l,s;
float m1[1000][1000], coef, aux[1000], elemento;
     
int main()
{
   cout << "ntBienvenido al Solucionador de ecuaciones 2010n";
   cout << "Por favor determine el numero de incognitas a resolver: ";
   cin >> k;
   l=k+1;
   
   for (i=0;i<k;i++)
      {
         for (j=0;j<l;j++)
         {
   cout<<"nAhora introduzca los coeficientes de ["<<i<<"]["<<j<<"]";
            cin >> m1 [j];
         }
      }
      
      for (s=0;s<k;s++)
      {
         elemento=m1;
         for (j=0;j<l;j++)
         m1[j]=m1[j]/elemento;
         for (i=0;i<k;i++)
         {
            if (i==s)
               ;
            else
            {
               coef=m1;
               for (j=0;j<l;j++)
                  aux[j]=m1[j]*(coef*-1);
               for (j=0;j<l;j++)
                  m1[j]=m1[j]+aux[j];
            }
         }
      }

      //Imprimir las soluciones
      for (i=0;i<k;i++)
      {
         cout << "t x ["<<i<<"] "<<m1[k] <<"n";
      }
      
}
Código: C++
  1. [b][/b]
  2.  

2
Visual C++ / Codigo de Matriz Inversa y Método de Gauss
« en: Lunes 12 de Abril de 2010, 22:52 »
Hola  a Todos es mi primer Tema qe publico y espero puedan ayudarme, he hecho el siguiente código, sin embargo sólo funciona para una matriz de 2*2 y el otro para dos ecuaciones... y necesito que funcione para el número de ecuaciones que el usuario quiera así como para el tamaño de la matriz que desee...

Para la Matriz inversa:
#include <iostream>
using namespace std;

int i,j;
float m1[1000][1000], coef, aux[1000], pivote;

int main()
{
cout << "ntBienvenido al Generador de Matrices Inversasn";
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
{
cout << "Ingrese el valor de [" <<i<< "]["<< j <<"]";
cin >> m1 [j];
}
}

for (i=0;i<2;i++)
for(j=2;j<4;j++)
{
if(i==(j-2))
m1[j]=1;
else
m1[j]=0;
}
//Iteracion 1

/*Pivote*/
pivote=m1[0][0];
for (j=0;j<4;j++)
m1[0][j]=m1[0][j]/pivote;

/*Para
el otro renglón*/

coef=m1[1][0];
for (j=0;j<4;j++)
aux[j]=m1[0][j]*(coef*-1);
for (j=0;j<4;j++)
m1[1][j]=m1[1][j]+aux[j];

/*Para la
iteración 2*/

/*Pivote 2*/
pivote=m1[1][1];
for (j=0;j<4;j++)
m1[1][j]=m1[1][j]/pivote;

/*Para
el otro renglón*/

coef=m1[0][1];
for (j=0;j<4;j++)
aux[j]=m1[1][j]*(coef*-1);
for (j=0;j<4;j++)
m1[0][j]=m1[0][j]+aux[j];

//Imprimir la matriz inversa
for (i=0;i<2;i++)
{
for(j=2;j<4;j++)
cout << "t"<<m1[j];
if (j==4)
cout <<"n";
}

}


Este es el de Gauss (soluciona ecuaciones)
#include <iostream>
using namespace std;

int i,j;
float m1[1000][1000], coef, aux[1000], pivote;

int main()
{
cout << "ntBienvenido al Solucionador de ecuaciones 2010n";
for (i=0;i<2;i++)
for (j=0;j<3;j++)
cin >> m1 [j];

//Iteracion 1

/*Pivote*/
pivote=m1[0][0];
for (j=0;j<3;j++)
m1[0][j]=m1[0][j]/pivote;

/*Para
el otro renglón*/

coef=m1[1][0];
for (j=0;j<3;j++)
aux[j]=m1[0][j]*(coef*-1);
for (j=0;j<3;j++)
m1[1][j]=m1[1][j]+aux[j];

/*Para la
iteración 2*/

/*Pivote 2*/
pivote=m1[1][1];
for (j=0;j<3;j++)
m1[1][j]=m1[1][j]/pivote;

/*Para
el otro renglón*/

coef=m1[0][1];
for (j=0;j<3;j++)
aux[j]=m1[1][j]*(coef*-1);
for (j=0;j<3;j++)
m1[0][j]=m1[0][j]+aux[j];

//Imprimir la solución
for (i=0;i<2;i++)
{
cout << "t x ["<<i<<"] "<<m1[2] <<"n";
}

}


GRracias de antemano

Páginas: [1]