Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2011, 19:55
pgrishcm4954
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 13 años
Puntos: 0
Problema con arreglo multidimensional

Buenas noches!!!!!!!!!!!!!

Agradeceré la ayuda en el siguiente asunto. Estoy utilizando un arreglo multidimensional para la solución de acuaciones lineales por el método de Gauss-Jordan. Todo iba bien mientras la matriz ya estaba definida desde el principio como una matriz de 3 por 4. Sin embargo ahora quiero que el programa solicite al usuario de que tamaño quiere la matriz no que ya este definida. Posteo el codigo que tengo, lo estoy manejando con Code blocks y no me arroja ningun error o advertencia, pero cuando termino de introducir los valores de la posicion [03] y esperando que lo siguiente fuera [10][11][12]y [13] como creo que deberia ser, me sale [-40][-30] y de ahi se traba el programa, bueno se cierra.

Mi pregunta mas urgente es ¿Como se hace para meter datos a una matriz que no este predeterminada previamente sino elegida por el usuario?

Gracias de antemano!!!!!!!!!!!!!!!!!!!

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. int main()
  5. {
  6.      float c[1][1],d,p;
  7.     int i=0,j=0,k,m,n;
  8.  
  9.   printf ("Ingresa la cantidad de renglones de la matriz\n");
  10.   scanf  ("%f",&m);
  11.   printf ("Ingresa la cantidad de columnas de la matriz\n");
  12.   scanf  ("%f",&n);
  13.     c[1][1]=c[m][n];
  14.     for(i=0;i<m;i++){
  15.     for(j=0;j<n;j++)
  16.     {
  17.                     printf("coeficiente de la ecuacion %d variable %d",i,j);
  18.                     scanf("%f",&c[i][j]);}}
  19.                     for(i=0;i<m;i++){
  20.                                       d=c[i][i];
  21.                                       for(k=0;k<n;k++)
  22.                                       c[i][k]=c[i][k]/d;
  23.                                       for(j=0;j<m;j++){
  24.                                                        if(i!=j){
  25.                                                                 p=(-1)*c[j][i];
  26.                                                                 for(k=0;k<n;k++)
  27.                                                                 c[j][k]=c[j][k]+p*c[i][k];
  28.                                                                 }}}
  29.                                                                 for(i=0;i<m;i++)
  30.                                                                 printf("     %f",c[i][m]);
  31.                                                                                      getch();
  32.                                                                 return 0;
  33.                                                                 }