You are on page 1of 13

ALGORITMI ZA RAD

S LISTAMA
PRETRAŽIVANJE
LISTE
Linearno pretraživanje
PRIMJER.
Napisati program kojim se učitavaju prosječne temperature u
Zagrebu, za svaki mjesec 2021. godine. Ispisati mjesece u kojima
je temperatura bila manja od 15 stupnjeva C.

postupak:
1) učitati temperature ( 12 temperatura )
2) usporediti temperaturu u mjesecu s brojem 15 i ako je
manja ispisati redni broj mjeseca
RJEŠENJE.
T=[]
for i in range(12):
print('temperatura u ',i+1,'-tom mjesecu=')
T= T+ [float(input())]
print('mjeseci u kojima je temperatura bila manja od 15')
for i in range(12):
if T[i]<15:
print(i+1)
ZADATAK.
Napisati program kojim se kreira lista od najviše 30 cijelih brojeva. Ispisati
pozicije ( indekse ) onih elemenata u listi koji su djeljivi s 3.
RJEŠENJE.
T=[]
n=int(input('broj elemenata='))
for i in range(n):
T=T+[int(input())]
for i in range(n):
if T[i]%3= = 0:
print(i+1)
SORTIRANJE LISTE
Bubble sort
ZADATAK.
Napisati program kojim se učitavaju prosječne
temperature u Zagrebu, za svaki mjesec 2021. godine.
Ispisati temperature sortirane silazno, od najveće do
najmanje.
BUBBLE SORT - opis
koraci: 1) prvi element liste se uspoređuje s ostalim
elementima i vrši se zamjena ako je zadovoljen
uvjet
2) drugi element liste se uspoređuje s ostalima i
vrši se zamjena ako je zadovoljen uvjet
3) ponavlja se isto za svaki od preostalih elemenata
liste
PRIMJER. Sortirati niz 12, - 4, 5, 27 u padajućem redoslijedu.

postupak.
0. korak 12 - 4 5 27
1. korak ( uspoređivanje prvog elementa s ostalima iza njega i zamjena, ako je potrebna )
12 - 4 5 27
12 - 4 5 27
27 - 4 5 12
2. korak ( uspoređivanje drugog elementa s ostalima iza njega i zamjena , ako je potrebna )
27 5 - 4 12
27 12 - 4 5
3. korak ( uspoređivanje trećeg elementa s ostalima iza njega i zamjena, ako je potrebna )
27 12 5 -4

rješenje. 27 12 5 - 4
RJEŠENJE.
T=[]
for i in range(12):
print('temperatura u ',i+1,'-tom mjesecu=')
T= T+ [float(input())]
for i in range(11):
for j in range (i+1,12):
if T[i]<T[j]:
temp=T[i]
T[i]=T[j]
T[j]=temp
print('sortirane temperature ')
for i in range(12):
print(T[i])
ZADATAK.
Kreirati listu od najviše 30 prirodnih brojeva. Formirati i ispisati novu listu čiji
elementi su jednaki zbroju znamenaka odgovarajućeg elementa početne liste.
Novu listu sortirati silazno i ispisati.

primjer. x 12 4 6123 349


y 3 4 12 16
sortirano 16 12 4 3
RJEŠENJE.
T1,T2=[],[]
n=int(input('broj elemenata='))
for i in range(n):
T1=T1+[int(input())]
for i in range(n):
s=0
while T1[i]>0: s=s+T1[i]%10 ;T1[i]=T1[i]//10
T2=T2+[s]
for i in range(n-1):
for j in range (i+1,n):
if T2[i]<T2[j]: pom=T2[i];T2[i]=T2[j];T2[j]=pom
print('novi niz - sortiran ')
print(T2)

You might also like