Dev - C++ - Inversa y determinante de matriz

 
Vista:

Inversa y determinante de matriz

Publicado por jamejilla (1 intervención) el 21/02/2007 16:08:21
Necesito un programa para calcular el determinante de una matriz y la matriz inversa en c++.
Buscando por ahi me he encontrado este,pero está en c y no me funciona bien.No estoy seguro de haber hecho las traducciones necesarias al c++.El programa es el siguiente:

/***********DET1.C*********/

/**************CALCULO DE DETERMINANTES****************/
# include <stdio.h>

main()
{
int i,j,k,l,m,n ;
float a[100][100];
float det;
printf("\t\tIntroducir el ORDEN DE LA MATRIZ : N = ");
scanf("%d",&n);
printf("\n");
m=n-1;
/* Vamos a introducir la matriz por teclado*/

printf("\t\tIntroducir los elementos por FILAS \n");
printf("\t\t---------------------------------- \n");
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{ printf("A(%d,%d) =",i,j);
scanf("%f",&a[i][j]); } }

/* SI QUEREMOS LEER LOS ELEMENTOS DE LA MATRIZ LISTADOS */
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
printf("\t\t\tA(%d,%d) =%8.4f\n",i,j,a[i][j] ); }




/*****Calculo del DETERMINANTE*****/
det=a[1][1];
for(k=1;k<=m;k++)
{ l=k+1;
for(i=l;i<=n;i++)
{ for(j=l;j<=n;j++)
a[i][j] = ( a[k][k]*a[i][j]-a[k][j]*a[i][k] )/a[k][k]; }
det=det*a[k+1][k+1];
}
printf("\n\n");
printf("\t\t\tDETERMINANTE = %f\n", det);
printf("\t\t\t-------------------------\n");
}

Esta ultima parte es la que me interesa,a ver si me podeis decir como seria en c++ o decirme otro modo de calcularlo ya que así no me funciona.Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Inversa y determinante de matriz

Publicado por pepe (1 intervención) el 27/02/2007 09:17:44
printf es cout en C++, sin formatos %
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por Leo y Lelulita (1 intervención) el 06/11/2007 22:40:21
Bueno aca funciona ese programita k tenias vos, anda hermoso =P
Espero que te sirva SALUDOS!

#include<iostream>
using namespace std;

main()
{
int i,j,k,l,m,n ;
float a[100][100];
float det;
cout << "Introducir el ORDEN DE LA MATRIZ : N = " << endl;
cin >> n;
m=n-1;
/* Vamos a introducir la matriz por teclado*/

cout << "Introducir los elementos" << endl;
cout << "------------------------" << endl;;
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{cin >> a[i][j];}}
/* SI QUEREMOS LEER LOS ELEMENTOS DE LA MATRIZ LISTADOS */

/*for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
printf("\t\t\tA(%d,%d) =%8.4f\n",i,j,a[i][j] ); }*/

/*****Calculo del DETERMINANTE*****/
det=a[1][1];
for(k=1;k<=m;k++)
{ l=k+1;
for(i=l;i<=n;i++)
{ for(j=l;j<=n;j++)
a[i][j] = ( a[k][k]*a[i][j]-a[k][j]*a[i][k] )/a[k][k]; }
det=det*a[k+1][k+1];
}
cout << endl;
cout << "DETERMINANTE = " << det << endl;
cout << "------------------------" << endl;

system("PAUSE");

return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por Lola (1 intervención) el 02/08/2010 05:48:45
Gracias funciona !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por anakin99 (1 intervención) el 18/11/2011 02:21:51
Gracias muy amable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por gerardo (1 intervención) el 06/02/2013 03:26:10
hola disculpa, ya lo hice en DEV c++ y todo bn pero cuando me pide el programa el orden de la matrz que le pongo ??
porque despues me dice que escriba los elementos pero osea noce que ondaa o como se supone que funciona?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por lbadauto (6 intervenciones) el 20/02/2013 19:23:00
Tienes que saber que la determinante de una matriz solo existe para matrices cuadras, eso quiere decir que el numero de filas es igual al numero de columnas, ahora cuando te dicen "ingrese el orden de la matriz pones de que orden quieres", por ejemplo si es de 2x2 tu matriz pones 2 y te pedira que ingrese los elementos de la misma, A(1,1)= y asi sucesivamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por alex (2 intervenciones) el 17/12/2013 08:16:44
disculpa por que no corr equiero que me explique porfavor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por Emi__ (1 intervención) el 15/04/2014 01:49:26
y si mejor solo se utiliza cout como es c++ es que con el printf es medio confuso manejar %% y &&
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por Marco A Silva (1 intervención) el 16/02/2017 07:19:59
Genial el algoritmo de calculo del determinante. Pero; alguien me puede decir cual es su algoritmo matematico?.
Yo conosco algunos metodos de calculo de determianate, como calculo por cofactores y mediante transformaciones elementales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por sergio (1 intervención) el 02/12/2008 10:42:31
hola mira...yo hice un programa en c++ para el determinante....

el codigo es el siguiente fijate si te funciona...

double det1 = M1[0][0];

for(int k=0;k<=elementos-1;k++)
{
int l=k+1;
for(int i=l; i<elementos; i++)
{
for(int j=l; j<elementos; j++)
{
M1[i][j] = (M1[k][k] * M1[i][j] - M1[k][j] * M1[i][k]) / M1[k][k];
}
det1 = det1 * M1[k+1][k+1];
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por omar (1 intervención) el 23/05/2009 18:33:31
Esa no es la forma de calcular una matriz. Tienes que hacerlo por la definicion del determinante, que es la de a[i][j]+(-1)^i+j y todo eso multiplicado por el determinante de los cofactores del elemento de la matriz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por German (1 intervención) el 10/08/2009 18:05:06
Si llegua a andar esto no se, decime el msn que no me va a alcanzar el msn para agradecerte muchacho..!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por condezo (1 intervención) el 01/12/2009 21:08:37
hola quiero elprograma de determinante y matrices para instalar en mi celular se lagradese
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por erick (1 intervención) el 09/10/2010 23:55:38
tu programa no funciona correctamente, debido a que si el primer elemento es cero, entonces en general te estaria imprimiendo -1, lo cual al operar correctamente no concuerda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inversa y determinante de matriz

Publicado por Ruben Prado (1 intervención) el 30/04/2011 19:39:05
Aquí puede estar lo que necesitas,, yo trabajo la sobrecarga de operadores pero dentro están los cálculos de inversa, determinante, transpuesta e multiplicación..... en esta dirección lo encuentras: http://rubenprado.blogspot.com/p/programacion.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Inversa y determinante de matriz

Publicado por noel mele (1 intervención) el 18/04/2012 05:18:21
hola yo kera a preguntar porque asen la division en la formula ????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Inversa y determinante de matriz

Publicado por lbadauto (6 intervenciones) el 01/02/2013 18:02:33
Mira brother justo estaba buscando como se calcula la determinante de un matriz y encontre tu codificacion me parece genial, ahora.
si estas en el Dev C++, al final solo ponle getchar(); getchar();
dos veces y listo correra, porque si no lo pones como e podido observar se cerrara la consola

---Gracias----
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Inversa y determinante de matriz

Publicado por Alfredo Alvarado (1 intervención) el 02/08/2013 00:40:06
hey muy buen programa, solo funciona casi siempre, exepto cuando tienes cero en la primer posicion a[0][0], mi solución a eso seria: mientras a[0]0 == 0 ; "intercambia renglones"
si se acaban los renglones entonces determinante no es posible :)!!

voy a tratar de implementar el código en C#, pueden pedirlo a mi correo cuando gusten, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Inversa y determinante de matriz

Publicado por jose (1 intervención) el 06/02/2014 02:59:16
tienes el algoritmo para calcular la inversa???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar