/* primer40.c - unos i ispis liste */ #include #include typedef struct celija { int element; struct celija * sled; } Celija; typedef Celija * lista; void ispis( lista ); int pozicija( int, lista ); main() { int i, p, x; lista L, temp; L = NULL; /* inicijalizacija */ scanf("%d", &i ); while( i ) { temp = (lista) malloc( sizeof( Celija ) ); temp->element = i; temp->sled = L; L = temp; scanf("%d", &i ); } /* Pozicija x u listi */ scanf("%d", &x ); p = pozicija( x, L ); printf("%d\n", p ); /* Ispis liste */ ispis( L ); } void ispis (lista L ) { for( ; L; L = L->sled ) printf("%d ", L->element ); printf("\n"); } int pozicija( int x, lista L ) { int p = 1; for( ; L; L = L->sled, p++ ) if( x - L->element == 0 ) return p; /* Broj elemenata u listi: p = 0; for( ; L; L = L->sled ) p++; return p; */ return -1; }