Professional Documents
Culture Documents
p1 Ismer Janicic Maric Glava10
p1 Ismer Janicic Maric Glava10
118
10 Nizovi i niske
int strcmp(char s1[], char s2[]) { /* Petlja tece sve dok ne naidjemo na prvi razliciti karakter */ int i; for (i = 0; s[i]==t[i]; i++) if (s[i] == \0) /* Naisli smo na kraj obe niske, a nismo nasli razliku */ return 0; /* s[i] i t[i] su prvi karakteri u kojima se niske razlikuju. Na osnovu njihovog odnosa, odredjuje se odnos stringova */ return s[i] - t[i]; }
10.4 Standardne funkcije za rad sa niskama Zadatak 10.3. Napisati funkciju (i program koji je testira) koja:
119
1. odreduje du zinu najdu ze serije jednakih uzastopnih elemenata u datom nizu brojeva; zinu najve ceg neopadaju ceg podniza datog niza celih brojeva; 2. odreduje du 3. odreduje da li se jedan niz javlja kao podniz uzastopnih elemenata drugog; 4. odreduje da li se jedan niza javlja kao podniz elemenata drugog (elementi ne moraju da budu uzastopni, ali se redosled pojavljivanja po stuje); 5. proverava da li je dati niz palindrom ( cita se isto sleva i zdesna); 6. obr ce dati niz brojeva; 7. rotira sve elemente datog niza brojeva za k pozicija ulevo; 8. rotira sve elemente datog niza brojeva za k pozicija udesno; 9. izbacuje vi sestruka pojavljivanja elemenata iz datog niza brojeva (napisati varijantu u kojoj se zadr zava prvo pojavljivanje i varijantu u kojoj se zadr zava poslednje pojavljivanje). 10. spaja dva niza brojeva koji su sortirani neopadaju ci u tre ci niz brojeva koji je sortiran neopadaju ci. Zadatak 10.4. Sa standardnog ulaza se unose dva niza brojeva. Napisati program koji odreduje njihov presek, uniju i razliku (redosled prikaza elemenata nije bitan, pri cemu se elementi ne ponavljaju). Zadatak 10.5. Napisati program koji ispisuje prvih n (najvi se 100000) elemenata niza koji se dobija tako sto se kre ce od 0, a zatim prethodni niz ponovi pri cemu se svaki broj uve ca za 1, tj. 0112122312232334... Zadatak 10.6. Napisati program koji razbija niz brojeva na najve ci mogu ci broj grupa uzastopnih elemenata. Na primer, niz 7 2 3 8 9 7 4 2 6 8 5 6 1 se deli na 7 2 4 8 9 7 4 2, 3, 6 8 5 6 i 1. Zadatak 10.7. Napisati program koji za uneti datum u obliku (dan, mesec, godina) odreduje koji je to po redu dan u godini. Proveriti i koretknost unetog datuma. U obzir uzeti i prestupne godine. Koristiti niz koji sadr zi broj dana za svaki mesec i uporediti sa re senjem zadatka bez kori s cenja nizova. Zadatak 10.8. Napisati funkciju koja proverava da li je data niska palindrom ( cita se isto sleva i zdesna), pri cemu se razmaci zanemaruju i ne pravi se razlika izmedu malih i velikih slova (npr. Ana voli Milovana je palindrom). Zadatak 10.9. ,,Eratostenovo sito za nala zenje svih prostih brojeva u nekom intervalu koristi postupak u kome se u nizu svih brojeva tog intervala prvo precrtaju svi parni brojevi, zatim svi brojevi deljivi sa 3, zatim svi deljivi sa 5 itd. Napisati program koji implementira Eratostenovo sito.