J - Niz - Vjezba I Samostalan Rad

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Vježba + samostalan rad, jednodimenzionalni nizovi, 30.04.2021.

1. Napisati program koji unosi 10 cijelih brojeva, i ispisuje ih obrnutim redoslijedom u


jednom redu s praznim razmakom.

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.

NAPOMENA: Sasvim je svejedno da li ćete prvo napisati sve brojeve koje


unosite s razmakom obavezno, pa pritisnuti tipku Enter ili ćete napisati prvi
broj, pa Enter, drugi broj pa Enter, itd.
2. Napisati program koji će učitati elemente (članove) niza i sortirati ih po rastućem
redoslijedu. (5 članova niza).

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++)

uzme prvi element 2 i pomoću druge petlje


for(j=i+1; j<5; j++)

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.

Zadaci za samostalan rad

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.

You might also like