Dev - C++ - Calcular Determinande de Una Matriz (AYUDA)

   
Vista:
Imágen de perfil de Carlos

Calcular Determinande de Una Matriz (AYUDA)

Publicado por Carlos (3 intervenciones) el 13/06/2014 06:45:59
Buenas noches, comunidad espero alguien pueda ayudarme, he creado un nuevo hilo porque quiza alguno tambien tenga la misma duda o le pueda servir, el caso esta en que tengo desarrollado un codigo que realiza una matriz, el usuario introduce de cuanto quiere que sea la matriz posterior a esto se introduce el valor desde el punto (1) (4) hasta el punto (4) (4) pero no encuentro como furmular esta accion:

Hacer que el programa halle el determinante de la matriz introducida.

Aca dejo el codigo abierto, espero alguien pueda ayudarme, es un Proyecto para la universidad, que aunque aun no he visto algebra lineal, lo estan pidiendo y ya he adelantado algo con la teoria.

#include <iostream>
#include <cstdlib>

//Declaracion de los Using
using namespace std;

//Inicion Funcion MAIN del Programa
int main()
{
//Declaracion de las Variables
int fila,columna;
int matriz[10][10];

//Ingreso de la cantidad de filas y columna
cout << "Ingrese la cantidad de Filas: " ;
cin >> fila;
cout << "Ingrese la cantidad de Columna: " ;
cin >> columna;

//Cambio de tamaño en la matriz (esto es la parte que no termino de comprender)
matriz[1][1]=matriz[fila][columna];

//Muestra del nuevo tamaño de la matriz
cout << "\nLa nueva matriz es de " << fila << "x" << columna << "\n\n";

//Ingreso de los componentes de la matriz
for(int i=0;i<fila;i++)
{
for(int n=0;n<columna;n++)
{
cout << "Ingrese el valor de [" << i+1 << "][" << n+1 << "] : " ;
cin >> matriz[i][n];
}
}

//Muestra de la matriz ingresa
cout << "\nLa matriz guardada es \n\n";

for(int i = 0; i < fila; i++)
{
for(int n = 0; n < columna; n++)
{
cout << matriz[i][n];
}
cout << endl;
}


system("pause<nul");
return 0;
}
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
Imágen de perfil de JuanC

Calcular Determinande de Una Matriz (AYUDA)

Publicado por JuanC juanc2942@gmail.com (35 intervenciones) el 14/06/2014 00:51:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/***************************************************************************
SDETERM (Super Determinante) 21-Enero-1999

Este programa calcula con facilidad la determinante de matrices de orden alto.
Se utiliza el m‚todo los cofactores de la matriz (pivoteando).
Se utiliza recursividad, por lo que el progrma necesita bastante memoria.

programado por:
 JOSE LUIS DE LA CRUZ LAZARO
correos:
 jcruz@ec-red.com
 ramondc@hotmail.com
Pagina Web ( EL MUNDO DEL CAOS ):
 http://www.geocities.com/joseluisdl
***************************************************************************/
#include"iostream.h"
#include"conio.h"
#include"math.h"
 
//Funcion Recursiva que retorna el determinante de la matriz A
double Determinante(double **A,int n)
{
 
double **C,P[30][30],B[30][30],D=0;
 
int x,y,i,j;
 
for(i=0;i<n;i++)
 for(j=0;j<n;j++)
 P[i][j]=A[i][j];
 
 
if(n>=2){
 
for(x=0;x<n;x++){
 
for(i=0;i<n-1;i++)
 for(j=1;j<n;j++)
  {
   if(i<x)B[i][j-1]=P[i][j];else B[i][j-1]=P[i+1][j];
  }
 
for(y=0;y<n-1;y++)*(C+y)=B[y];
 
D+=pow(-1,x)*P[x][0]*Determinante(C,n-1);
 
}
 
return D;
 
}else return P[0][0];
 
}
 
void main()
{
 
 double **A, //puntero doble que apunta a matrices
	B[10][10]; //matriz est tica que contendr  los datos
 int i,j,n;
 clrscr();
 
 cout<<"Ingrese orden de la matriz : ";
 cin>>n;//se ingresa orden de la matriz
 
 for(i=0;i<n;i++)	//se ingresa los elementos de la matriz A
  for(j=0;j<n;j++)
  {
   cout<<"Ingrese A["<<i<<","<<j<<"] : ";
   cin>>B[i][j];
  }
 
 //A apunta a B
 for(i=0;i<n;i++)
  *(A+i)=B[i];
 
 //Se retorna el determinante de B
 cout<<"\nDeterminante = "<<Determinante(A,n);
 
 getch();
 
}
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
Imágen de perfil de JuanC

Calcular Determinande de Una Matriz (AYUDA)

Publicado por JuanC juanc2942@gmail.com (35 intervenciones) el 14/06/2014 00:53:53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
 
main(void)
{
  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;
 
 
  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]);
	 }
     }
 
  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]);
     }
 
 
  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");
 
  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