#include #include struct list{ int number; struct list *next; struct list *prev; }; struct list *temp = (struct list *) NULL; struct list *pointer = (struct list *) NULL; struct list *start = (struct list *) NULL; struct node * alloci() { struct list *l; l = (struct list *) malloc( sizeof(struct list ) ); l->next = NULL; l->prev = NULL; l->number = 0; return l; } int main(void) { int ctr = 1; int elements = 0; int index = 0; char *c, a; c = (char *)malloc(ctr*sizeof(char *)); //allocate pointer pointer=alloci(); start = pointer; //pointer->number = ctr; do{ if (elements >= ctr){ ctr++; elements++; c = (int*)realloc((char *)c, ctr * sizeof(int)); if(c = NULL){ exit(1); } } a = getchar(); if ((a != '\n') && (a !=' ')) { if (pointer->number==0) pointer->number=atoi(&a); else { pointer->number*=10; pointer->number+=atoi(&a); } } else { index++; printf("%d ", pointer->number); if (a = ' ') { pointer->next=alloci(); pointer=pointer->next; } pointer->number=0; if (a = '\n') { int array[index]; index =0 ; temp=start; while(temp!=NULL) { array[index++]=temp->number; printf("%d ", temp->number); temp = temp->next; } } } }while(a != '\n'); free(c); return 0; }