You are on page 1of 4

Programske metode i apstrakcije

ispit
1. [20] Što ispisuju sljedeći programi?

int main () int fun1 ( int i , int j )


{ {
unsigned x = 12; i += j ;
int n = 0; j += i ;
while ( x ) return j ;
{ }
n ++;
x = x &( x -1) ; int i = 10;
} int main ( void )
printf ("% d \ n " , n ) ; {
return 0; int j = 5;
} printf ("% d \ n " , fun1 (i , j ) ) ;
printf ("% d \ n " , i ) ;
printf ("% d \ n " , j ) ;
return 0;
}

2. [20] Napisati funkciju koja provjerava da li je binarni zapis nekog broja takav da su sve
jedinice ispred nula.
Primjer : U broju 24810 = 111110002 su sve jedinice ispred nule.

3. [20]Napisati funkciju koja za niz pravokutnika zadanih sa dvije stranice, vraća one koji imaju
najmanju i najveću površinu.

4. [20] Napisati funkciju koja provjerava da li je rečenica heterogram. Heterogram je rečenica u


kojoj se nijedno slovo u rečenici ne pojavljuje više od jednom.
Primjer : String ”The big dwarf only jumps.” je heterogram.

5. [20] Napisati funkciju koja za neku datoteku vraća broj redaka koji su prazni ili počinju sa
znakom ’#’.
Programske metode i apstrakcije
ispit
1. [20] Što ispisuju sljedeći programi?

int main () # define COUNT ( x ) sizeof x / sizeof x [0]


{ int next ()
int i , n = 10; {
for ( i = 0; i < n ; i ++) static int nums [] = {1 ,2 ,3 ,4 ,5 ,6 ,7 ,8};
{ static int i = -1;
if ( i < 5) do {
continue ; i ++;
printf ("% d \ n " , i ) ; } while ( nums [ i ]%2 && i < COUNT ( nums ) ) ;
}
printf (" i = % d \ n " , i ) ; return nums [ i ];
return 0; }
}
int main ()
{
printf ("% d \ n " , next () ) ;
printf ("% d \ n " , next () ) ;
printf ("% d \ n " , next () ) ;
return 0;
}

2. [20] Napisati funkciju koja za dva broja ispituje da li je u zapisu jedan završetak drugog.
Primjer : Za brojeve 126 i 32126, funkcija vraća 1, a za brojeve 123 i 32125 vraća 0.

3. [20] Napisati funkciju koja za niz cijelih brojeva vraća dvije sume: sumu svih elemenata
pozitivnog i sumu svih elemenata negativnog predznaka.

4. [20] Napisati funkciju koja za neki string vraća poziciju drugog pojavljivanja nekog slova. U
slučaju da se slovo ne pojavljuje dva puta, funkcija vraća -1.
Primjer : Za string "ONoffON" pozicija drugog pojavljivanja slova ’O’ je 6.

5. [20] Napisati funkciju koja za datoteku u kojoj je u svakom retku jedan broj i jedna riječ,
ispisuje na ekran riječ onoliko puta koliki je broj.
Primjer : Ako u datoteci piše:
4 psa
2 tigra
1 deva
ispisati će se
psapsapsapsa
tigratigra
deva
Programske metode i apstrakcije
ispit
1. [20] Što ispisuju sljedeći programi?

int x = 1; int main ( void )


int func1 () {
{ int n = 1 , k = 2;
return ( x += 10) ; if ( n * k == k & n )
} printf ("% d \ n " , n << k ) ;
int func2 ( int x ) else
{ printf ("% d \ n " , k << n ) ;
return ( x += 1) ; return 0;
} }
int main ( void )
{
func1 () ; printf ("% d \ n " , x ) ;
func2 (5) ; printf ("% d \ n " , x ) ;
return 0;
}

2. [20] Napisati funkciju koja računa koji broj u rasponu od 0 do n ima najviše djelitelja. n je
parametar funkcije.

3. [20] Napisati funkciju koja za niz cijelih brojeva vraća zbroj i produkt svih elemenata niza
koji su djeljivi sa 3 i manji od 30.

4. [20] Napisati funkciju koja provjerava da li je rečenica izogram. Izogram je rečenica u kojoj se
svako slovo u rečenici pojavljuje jednak broj puta.
Primjer : Stringovi ”Caucasus” ili ”Abba” su izogrami.

5. [20] Definirati strukturu slika koja opisuje sliku sa imenom i prezimenom autora, imenom
slike, dimenzijom i cijenom. Napisati funkciju koja za niz slika pročitanih iz datoteke, vraća
ime i prezime najzastupljenijeg autora u kolekciji.
Programske metode i apstrakcije
ispit
1. [20] Što ispisuju sljedeći programi?

int main () # define COUNT ( x ) sizeof x / sizeof x [0]


{ int next ()
unsigned x = 11; {
int count = 0; static int nums [] = { 8 , 7 , 6 , 3 , 3 , 5 , 6};
while ( x ) static int i = -1;
{ do {
count ++; i ++;
x = x &( x -1) ; } while ( nums [ i ]%3 && i < COUNT ( nums ) ) ;
}
printf ("% d \ n " , count ) ; return nums [ i ];
return 0; }
}
int main ()
{
printf ("% d \ n " , next () ) ;
printf ("% d \ n " , next () ) ;
printf ("% d \ n " , next () ) ;
return 0;
}

2. [20] Napisati funkciju koja provjerava da li je rečenica pangram. Pangram je recenica u kojoj
se svako slovo alfabeta (abecede) pojavljuje najmanje jednom.
Primjer : String ”The quick brown fox jumps over the lazy dog” je pangram. Ili, na hrvatskom
”Gojazni dačić s biciklom drži hmelj i finu vatu u džepu nošnje.”

3. [20] Napisati funkciju koja za broj n kreira i vraća novi broj tako da mu izmedu svake dvije
jedinice u binarnom zapisu ubaci nulu.
Primjer : Za broj n = 710 = 1112 , novi broj je 101012 = 2110

4. [20] Napisati funkciju koja za datoteku i niz znakova (string), na ekran ispiše one retke iz
datoteke u kojima se nalazi taj niz znakova.
Napomena: String je bilo kakav niz znakova.

5. [20] Napisati funkciju koja nekom nizu brojeva invertira članove na parnim pozicijama.
Primjer : Za niz {2, 1, 3, 5, 7, 9, 4} promijenjeni niz će biti {4, 1, 7, 5, 3, 9, 2}

You might also like