typedef struct ListElement {
int x;
struct ListElement* pop;
struct ListElement* nast;
} *liczba_t;
liczba_t dodaj_tyl(liczba_t l, int nr)
{
if(l==NULL) {
liczba_t nw = malloc(sizeof *nw);
nw->x = nr;
nw->pop=NULL;
nw->nast = NULL;
return nw;
} else {
liczba_t tmp = l;
while( tmp->nast != NULL )
{
tmp = tmp->nast;
}
tmp->nast= malloc( sizeof * (tmp->nast) );
tmp->nast->x= nr;
tmp->nast->nast= NULL;
tmp->nast->pop = tmp;
return l;
}
}
void pokaz(liczba_t l)
{
printf("\n");
if(l==NULL) printf("List is empty");
else
{
liczba_t tmp=l;
while(tmp->nast!=NULL)
{
printf("%d",tmp->x);
tmp = tmp->nast;
}
printf("%d",tmp->x);
}
}
liczba_t* definiuj_liczby(FILE* we, ile_t struktura)
{
fscanf(we,"%d",&struktura->ile_liczb);
fscanf(we,"%d",&struktura->ile_znak);
//printf("%d\n",ile_znak);
liczba_t* liczby = malloc(struktura->ile_liczb*sizeof(liczba_t));
int y;
for(int i=0; i <struktura->ile_liczb; i++)
{
for(int j=0; j<struktura->ile_znak; j++)
{
fscanf(we,"%d ",&y);
//printf("%d",x);
liczby[i] = dodaj_tyl(liczby[i],y);
pokaz(liczby[i]);
}
printf("\n");
printf("xd");
}
fclose(we);
return liczby;
}
Psuje się w momencie, gdy próbuję wypisać listę w ostatniej funkcji. Wypisują mi się jakieś losowe liczby. struktura->ile_liczb i struktura->ile_znak są czytane poprawnie. Jak próbowałam wypisać y, też wypisywało się poprawnie. Jedynie przy funkcji "pokaz" coś szwankuje. O co może chodzić, bo już naprawdę nie mam pomysłu.