Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2010, 17:07
Avatar de Munire
Munire
 
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 14 años, 4 meses
Puntos: 4
problema declaracion array

Hola, tengo un problema con un array y no se como solucionarlo. El error lo da al declarar y se por que es.

el problema es que no se como puedo introducir el valor de n antes de declarar el array de n elementos.

el programa consiste en introducir una cantidad de numeros (n), y sus valores en un array (numeros) y ordenarlos por el metodo burbuja.

saludos y gracias

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3.  
  4. void introducir(int *, double numeros[]);
  5. void ordenar(int n, double numeros[]);
  6. void buscar();
  7.  
  8. int main()
  9. {
  10.     int n=0;
  11.     double numeros[n];    // <==== ERROR  se esperaba una expresión
  12. //constante.   no se puede asignar una matriz de tamaño constante 0.  'numeros'
  13. //: tamaño desconocido
  14.  
  15.     introducir(&n, numeros);
  16.     ordenar(n, numeros);
  17.     buscar();
  18. }
  19.  
  20.  
  21. void introducir(int *pn, double numeros[])
  22. {
  23.     int i = 0;
  24.     numeros[*pn];
  25.     printf("cantidad de numeros: ");
  26.     scanf("%d", pn);
  27.     printf("\nIntroducir numeros: ");
  28.     for(i; i<*pn; i++)
  29.     {
  30.         scanf("%lf", &numeros[i]);
  31.     }
  32. }
  33.  
  34. void ordenar(int n, double numeros[])
  35. {
  36.     int i = 0, j = 0;
  37.     double bf = 0;
  38.     for(j;j<n-1;j++)
  39.     {
  40.         for(i=0; i<n; i++)
  41.         {
  42.             if(numeros[i] < numeros[i+1])
  43.             {
  44.                 numeros[i] = bf;
  45.                 numeros[i] = numeros[i+1];
  46.                 numeros[i+1] = bf;
  47.             }
  48.         }
  49.     }
  50. }
  51.  
  52. void buscar()
  53. {
  54. }