#include #include struct Vagonik { char Znak; struct Vagonik *Sipka; }; struct Vagonik* Pridaj(struct Vagonik *Posledny,char Znak) { struct Vagonik *Pomocny; Pomocny=(struct Vagonik*)malloc(sizeof(struct Vagonik)); if(Pomocny==NULL) { printf("Problemy pri alokovani pamate"); exit(-1); } Pomocny->Znak=Znak; Pomocny->Sipka=NULL; if(Posledny!=NULL) Posledny->Sipka=Pomocny; Posledny=Pomocny; return Posledny; } void Zrus(struct Vagonik * Zaciatok) { while(Zaciatok!=NULL) { struct Vagonik *NasledujuciVagonik; NasledujuciVagonik=Zaciatok->Sipka; free(Zaciatok); Zaciatok=NasledujuciVagonik; } } void VypisZoznam(struct Vagonik * Zaciatok) { struct Vagonik *Ukazovatel=Zaciatok; while(Ukazovatel!=NULL) { printf("%c",Ukazovatel->Znak); Ukazovatel=Ukazovatel->Sipka; } printf("\n"); } void main(void) { int Znak; struct Vagonik *Zaciatok=NULL; struct Vagonik *Posledny=NULL; while((Znak=getchar()) != EOF) { Posledny=Pridaj(Posledny, Znak); if (Zaciatok==NULL) Zaciatok=Posledny; } VypisZoznam(Zaciatok); Zrus(Zaciatok); }