Tema: ola ayuda
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/06/2010, 19:04
AlanChavez
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 14 años, 5 meses
Puntos: 95
Respuesta: ola ayuda

Implementar el método de krammer no es dificil, es pura algebra matricial.
Primero genera el código que te calcula el determinante de una mátriz.
Que tipo de sistemas de ecuaciones vas a resolver?
Un sistema de 3 variables o un sistema de n variables?
Si tienes un sistema de n variables, entonces necesitas matrices dinámicas, y una función que te calcula el determinante de una matriz.


Por cual metodo quieres resolver el determinante?
Yo tengo un snippet de como encontrar el determinante de una mátriz por el método montante, lo hice en mi tiempo libre hace ya como 6 años.
Voy a asumir, que sabes que tienes que llenar una matriz y declararla, es un codigo poco eficiente, pero almenos cumple con el trabajo.
Código C++:
Ver original
  1. /* Seleccionamos Pivote */
  2.  
  3. pivote = montante[0][0];
  4.  
  5. cout<<endl<<"Pivote seleccionado: "<<pivote<<endl<<endl;
  6.  
  7. for (i=0;i<=1;i++){
  8. for(j=0;j<=1;j++){
  9.  matriz[i][j] = 0;
  10.  }
  11.  }
  12.  
  13. for(i=1;i<=2;i++){
  14. for(j=1;j<=2;j++){
  15.  matriz[i-1][j-1] = pivote*montante[i][j] - montante[0][j]*montante[i][0];
  16.  }
  17. }
  18.  
  19. /* Imprimimos la nueva matriz */
  20.  
  21. j=0;
  22. cout<<"Paso 2. Reducimos la matriz de orden 3 a orden 2 por el Metodo Montante"<<endl<<endl;
  23. do{
  24. for(i=0;i<=1;i++){
  25.  cout<<matriz[i][j]<<"\t";
  26.  }
  27. cout<<endl;
  28. j++;
  29. }while(j<=1);
  30. cout<<"--------------"<<endl<<" "<<pivote<<"\t Dividimos la matriz entre el pivote anterior"<<endl;
  31. cout<<endl<<endl;
  32.  
  33. /*Calculamos determinante de una matriz de orden 2
  34. (Diagonal principal - Diagonal Secundaria) / Pivote anterior */
  35.  
  36. cout<<"[("<<matriz[0][0]<<")("<<matriz[1][1]<<") - ("<<matriz[0][1]<<")("<<matriz[1][0]<<")]"<<endl<<"------------------"<<endl<<" "<<pivote<<endl;
  37. det = (matriz[0][0]*matriz[1][1] - matriz[0][1]*matriz[1][0])/pivote;  
  38. cout<<endl<<"El valor del determinante es: "<<det<<endl<<endl;