• Jueves 28 de Marzo de 2024, 23:24

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.


Temas - AugustZamo

Páginas: [1]
1
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]