C/Visual C - inversa de una matriz

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

inversa de una matriz

Publicado por aaaa (318 intervenciones) el 04/10/2003 19:17:57
Alguien sabe como es el código o donde puedo encontrar el codigo para sacar la inversa de una matriz, ya lo he intentado pero no me sale.
Mi duda es esta:
como le hago para que una variable que empieza en cero sea diferente a otra variable ejemplo:

tengo 2 ciclos para la fila y la columna, para la inversa necesito todas las filas y columnas menos es la posicion en la que estoy, ejemplo:

k=0;
for(i=0; i<ren; i++)
for(j=0; j<col; j++)
for(k!=i); k<ren; k++)
pero le hago asi y no funciona
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
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:inversa de una matriz

Publicado por zzzz (318 intervenciones) el 06/10/2003 03:26:40
hola! ya encontre la respuesta, yo solita me la di al escribir mi duda
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 de una matriz

Publicado por Oliver++ (339 intervenciones) el 06/10/2003 14:28:16
Tengo el código para calcular la matriz inversa pero no lo tengo en el ordenador de donde estoy escribiendo esto.

no entiendo la pregunta pero te recomiendo que uses OOP, y la parametrices por medio a templates. Debes usar dinamic memory si quieres que sea para cualquier dimensión.

Antes de escribir código, haz un diseño preliminar en papel, osea el algoritmo que vas a usar y luego ponte a escribir código.
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
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:inversa de una matriz

Publicado por zzzzz (318 intervenciones) el 07/10/2003 03:12:54
Ya saque el código para generar la inversa de una matriz por el metodo de gauss-jordan, si use clases, la hice con 1 clase matriz, en donde puedo sumar, restar,multliplicar, y sacar la inversa, no lo hice con templates porque no se usarlos, tampoco use memoria dinamica porque se me hace más complicado, y más porque ese programa lo estoy haciendo en c++builder y ahi es donde tengo un problema, las matrices las tengo en un stringGrid(sus datos son del tipo cadena), y vacio los datos del stringGrid a un objeto matriz (convirtiendo las cadenas en flotante) y luego ya cuando hago la operación los vacío del objeto al stringGrid, pero como la inversa no siempre es entera ahi es donde tengo el problema.
¿Como le hago para cambiar un dato flotante a cadena?
de cadena a flotante es atof, pero al revés (de flotante a cadena) como sería
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 de una matriz

Publicado por Oliver++ (339 intervenciones) el 07/10/2003 14:35:36
bueno, creo que deberas de escribir tu código propio para realizar esto. Vas comparando cada caracter y lo relacionas con un número. Le puedes hacer un XOR con una máscara en el 5to bit. Si este está en 1 es caracter y si está en 0 es un número. No recuerdo si es al revez pero por ahi anda el asunto. Busca en la tabla ANSII para más info.
una pregunta, ese algoritmo no te funciona para matrices n x n ? osea, de cualquier tamaño.
como es ese algoritmo de gauss-jordan?
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
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:inversa de una matriz

Publicado por abi (318 intervenciones) el 07/10/2003 19:26:40
¡Hola! Ese algoritmo funciona para matrices de cualquier tamaño, creo que la úncia condición es que la matriz sea cuadrada, aunque no estoy segura de eso.
Gauss-Jordan no es un algoritmo, es una metodo para resolver ecuaciones de 2 o más incognitas, las que sean, sirve también para sacar la inversa.
El metodo consiste en generar un 1 en la diagonal principal de la matriz, y en todos los demás espacios generas un 0, y en la ultima incognita esta el resultado de cada variable.
ejemplo:
2x+3y=16
3x-y=-2

2 3 16
3 -1 -2

aqui va una serie de formulas para generar los unos y ceros y queda asi:

1 0 1
0 1 5

entonces
x=1
y=5

y para la inversa más o menos es asi, sólo que como la inversa no siempre te da un resultado entero es ahi donde tengo el problema, ya que el componente StringGrid solo acepta cadenas.
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 de una matriz

Publicado por Oliver++ (339 intervenciones) el 07/10/2003 21:12:20
Te voy a escribir la funcion que quieres pero, como haces ese algoritmo para matrices de cualquier dimensión si usar asignacion dinamica de memoria?
enviame un trozo de codigo.
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