Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/04/2014, 14:10
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: Error en una lista dinamica simple

Cita:
Iniciado por TriN Ver Mensaje
........................................
Es decir solo quiero que me genere la memoria necesaria.
Entonces esto te valdrá, perdona que halla quitado los cls y demás:

Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(){
  5. int *lista= NULL,i=0,x,num;
  6. puts("Lista enlazada");
  7.  
  8.   do {
  9.     printf("\nElemento %d de la lista enlazada (0 para salir): ",i+1);
  10.     scanf ("%d", &num);
  11.     i++;
  12.  
  13.     lista =realloc(lista,(i)*sizeof(int));
  14.  
  15.     if (lista !=NULL)
  16.       *(lista+i-1)=num;
  17.  
  18.     else {
  19.        free (lista);
  20.        puts ("Error (re)allocating memoria");
  21.        return 1;
  22.      }
  23.   }while (num!=0);
  24.  
  25.     for( x=0;x<i-1;x++)
  26.       printf("%d ",lista[x]);
  27.     free(lista);
  28.     return 0;
  29. }


¡¡¡Saluditos!!!