Categorías destacadas
programacion php    
Código Fuente
12
¡votar!

 Determinante de una matriz de n*n

Este programa obtiene el determinante de una matriz n*n empleando recursividad. Hay que darle como entreada el tamaño de la matriz (n) y los n*n elementos de la matriz (m[i][j]). Devuelve el determinante de la matriz.

#include <iostream.h>
#include <alloc.h>
#include <math.h>

double det(double **m, int b){
double determinante = 0, aux = 0;
int c;
if(b==2)
return m[0][0]*m[1][1] - m[1][0]*m[0][1];
else{
for(int j=0; j<b; j++){
double **menor = (double **)malloc(sizeof(double)*(b-1));
for(int h=0; h<(b-1); h++) menor[h] = (double *)malloc(sizeof(double)*(b-1));
for(int k=1; k<b; k++){
c = 0;
for(int l=0; l<b; l++){
if(l!=j){
menor[k-1][c] = m[k][l];
c++;
}
}
}
aux = pow(-1, 2+j)*m[0][j]*det(menor, b-1);
determinante += aux;
for(int q = 0; q<(b-1); q++)
free(menor[q]);
free(menor);
}
return determinante;
}
}

int main(){
int n; // n = numero de renglones = numero de columnas
double **m=NULL;
cout<<"Elija el numero de renglones o columnas que tiene su matriz: ";
cin>>n;

// Se crea la matriz de forma dinamica
m = (double **)malloc(sizeof(double)*n);
for(int i=0; i<n; i++) m[i]=(double *)malloc(sizeof(double)*n);

// Pide el valor de cada elemento de la matriz
for(int y=0; y<n; y++)
for(int w=0; w<n; w++){
cout<<"Introduzca el valor de matriz["<<y<<"]["<<w<<"]: ";
cin>>m[y][w];
}

// Despliego el resultado de la funcion det
cout<<"nDeterminante: "<<det(m, n);

// Libero la memoria utilizada por la matriz
for(int r=0; r<n; r++) free(m[r]);
free(m);

return 0;
}
Escrito por:
Albertp Gacía
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
Anónimo dice:

determinante

26/10/2009, a las 18:53:50
Anónimo dice:

Ok Parese Bueno

13/10/2009, a las 02:35:22
Anónimo dice:

algunos otros tips para manejar este lenguaje tan robusto

05/07/2009, a las 21:21:42
Anónimo dice:

gracias

20/02/2009, a las 22:13:38
Anónimo dice:

hulAX!!! :( toy buscando un progrma q realice el determinante de una matriz.. xfis ayudenmeee xD

23/06/2008, a las 02:25:04
Anónimo dice:

hjryjrr6yi

04/05/2007, a las 23:56:41
Anónimo dice:

quiero saber a quien ya le funciono el programa de la matriz de n or n si les salio envieenme la codificacion sin errores a mi correo si alfredokorn1986@hotmail.com gracias

04/10/2006, a las 23:50:26
Anónimo dice:

tuve 2 problemas cuando implemente el codigo: 1) me aparece el siguiente codigo 'pow' : ambiguous call to overloaded function 2)pense q la libreria alloc.h deberia tener esa funcion pero cuando la incluyo me dice q no puede encontrarla seria bueno si alguien me puede mandar la posible solucion a mi correo gushbellino (arroba) g m a i l . c o m gracias de antemano

27/08/2006, a las 20:59:06
Anónimo dice:

Espero funcione

17/02/2006, a las 22:29:43
Anónimo dice:

ejercicios del tema

19/03/2005, a las 01:16:13
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon