Professional Documents
Culture Documents
J - Niz - Vjezba I Samostalan Rad
J - Niz - Vjezba I Samostalan Rad
J - Niz - Vjezba I Samostalan Rad
Rješenje. Deklariramo niz tipa int, imena a, dužine 10. Koristimo for petlju
za unos brojeva. Drugu for petlju koristimo za ispis brojeva, s tim da je onda
početna vrijednost najveći indeks.
Razmotrimo rješenje ovog zadatka, da bi shvatili kako sortiranje funkcionira. Kao što
vidite potrebna nam je jedna petlja za unos i jedna za ispis niza. Za rješenje traženog
problema trebaju nam dvije for petlje i to jedna u drugoj. Pojasnimo to na primjeru niza
2, 1, 3, 0, 4. Prva for petlja
for(i=0; i<4; i++)
uspoređuje ga s ostalim elementima niza. Tako druga petlja prvo uporedi 2 i naredni
element (j = i + 1), a to je 1. To radi dio
if(a[i]>a[j])
Ako je to tačno, što u našem slučaju jeste, jer je 2>1, onda ovaj dio u if naredbi
napravi zamjenu. Broj dva stavi u varijablu m, a na njegovo mjesto stavi broj 1. Zatim,
na mjesto broja 1 stavi broj 2. Varijabla m nam treba da se ne bi broj 2 obrisao kad se
na njegovo mjesto stavlja broj 1. S varijablom m mi broj 2 privremeno premjestimo s
tog mjesta da bi ga sačuvali. Nakon toga niz izgleda ovako 1, 2, 3, 0, 4. Druga petlja,
ide dalje pa uzima sljedeći broj 3 i sad uspoređuje s a[i], to je a[0], a to je sad 1.
Pošto 1>3, nije tačno, ide na sljedeći broj, a to je 0. Kako je 1>0, tačno, opet na isti način
pravi zamjenu, pa niz izgleda ovako 0, 2, 3, 1, 4. Sad upoređuje a[0]tj. 0 sa 4. Pošto
0>4 nije tačno, ništa se neće desiti. Prva for petlja je imala vrijednost i=0 i ona se je
izvršila samo jednom, a druga se je izvršila do kraja. Rezultat toga je da na prvom mjestu
u nizu imamo najmanji broj. Sada se prva pomjera za 1 tji postaje 1, pa a[i] tj.
a[1]uzima drugo mjesto i poredi ga sa ostalim elementima u nizu. Ponavlja se čitav
prethodni postupak. Kad se izvrši druga petlja, na drugom će mjestu biti najmanji broj
od preostalih elemenata niza. I tako će niz biti sortiran. U prvoj petlji uslov je i<4, jer
onaj koji zadnji ostane je i najveći, ali ne bi pogriješili kad bi stavili i<5, samo bi
računar imao malo više posla.
Zadatak 1. Napisati program koji će učitati niz od 7 cijelih brojeva i sortirati ih od najvećeg
ka najmanjem tj. sortirati ih po opadajućem redoslijedu.
Ulaz: 2, -1, 3, 1, 5, 0, 7. Izlaz: 7, 5, 3, 2, 1, 0, -1.
Zadatak 2. Napisati program koji će učitati niz od 10 cijelih brojeva i ispisati koliko ima
učitanih negativnih brojeva.
Ulaz: 5, -2, 0, -8, 1, 3, -3, -5, 7, 12. Izlaz: 4
Zadatak 3. Napisati program koji će učitati niz od 10 prirodnih brojeva i ispisati njihovu
aritmetičku sredinu.
Ulaz: 2, 3, 4, 1, 5, 6, 10, 8, 9, 13. Izlaz: 6.10.
Zadatak 4. Napisati program koji će učitati niz od 10 cijelih brojeva i ispitati da li zbir tih
brojeva djeljiv s 11.
Ulaz: 2, 3, 4, 1, 5, 6, 10, 8, 9, 7. Izlaz: DA.
Ulaz: 2, 3, 4, 1, 5, 6, 10, 8, 9, 13. Izlaz: NE.