Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2010, 00:01
Avatar de extremoo
extremoo
 
Fecha de Ingreso: abril-2009
Mensajes: 54
Antigüedad: 15 años, 8 meses
Puntos: 0
Insertionsort compila pero no funca

Explico: Leo el tamaño del arreglo desde un archivo con numeros aleatorios
ejem.txt
4
2
1
4
2
el tam del arr es 4 y genera 4 nº aleatorios leo el archivo y creo uno nuevo e aqui el cod.


Código C:
Ver original
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. #include<string.h>
  5.  
  6. void insertion_sort(int x[],int length)
  7. {
  8.   int key,i, j;
  9.   for(j=1 ;j<length; j++)
  10.   {
  11.      key=x[j];
  12.      i=j-1;
  13.      while(x[i]>key && i>=0)
  14.      {
  15.          x[i]=x[i+1];
  16.          i--;
  17.      }
  18.          x[i+1]=key;
  19.   }
  20. }
  21.  
  22. int main()
  23. {
  24.  
  25.   float total,inicio, final;
  26.   inicio=clock();
  27.   FILE *ARCH, *ARCHI;
  28.  
  29.     int N, aux, i;
  30.     ARCH = fopen("aleatorio.txt","r");
  31.  
  32.     fscanf(ARCH,"%i", &N);
  33.     int d[N];
  34.  
  35.     ARCHI = fopen("insertionsort.txt","w");
  36.     i=0;
  37.     for(i=0;i<N;i++)
  38.       {
  39.       fscanf(ARCHI,"%i", &d[i]);
  40.       }
  41.    insertion_sort(d,N);
  42.  
  43.   for(i=0;i<N;i++)
  44.   {
  45.  
  46.    fprintf(ARCHI,"%i \n",d[i]);
  47.   }
  48.  
  49.  
  50.   final=clock();
  51.   total=(final-inicio)/(double) CLOCKS_PER_SEC;
  52.   printf("%f\n",total);
  53.  
  54.   fclose(ARCH);  
  55.   fclose(ARCHI);
  56. return 0;
  57. }


mi archivo de salida arroja esto:

-1217354048
-1217354048
-1217354048
-1217354048

que puede fallar? saludos