Zadatak 1. Napisati
program u kojem se napravi lista pomoću pokazivača čiji su
elementi cijeli brojevi. Broj elemenata u listi nije unaprijed zadan već
se učita na početku izvršavanja programa. Lista se puni pomoću
generatora slučajnih brojeva. Napisati funkciju koja će sortirati
listu upotrebom algoritma sortiranja spajanjem (merge
sort). Listu treba sortirati uzlazno (od najmanjeg
prema najvećem elementu) i silazno (od najvećeg prema najmanjem
elementu). Ispisati početnu listu i sortirane liste.
Zadatak 2. Napisati program u kojem se napravi
lista pomoću polja čiji su elementi cijeli brojevi. Broj elemenata u
listi nije unaprijed zadan već se učita na početku izvršavanja
programa. Lista se puni pomoću generatora slučajnih brojeva. Napisati
funkciju koja će sortirati listu upotrebom algoritma sortiranja spajanjem
(merge sort). Listu treba
sortirati uzlazno (od najmanjeg prema najvećem elementu) i silazno (od
najvećeg prema najmanjem elementu). Ispisati početnu listu i
sortirane liste.
Zadatak 3. Napisati program za zbrajanje dvaju
polinoma prikazanih u obliku p(x) = c1xe1 + c2xe2
+ … + cn xen
gdje su eksponenti e1 > e2 > … > en ≥ 0 cijeli
brojevi, a koeficijenti ci realni brojevi. Polinome prikazati
vezanom listom uz upotrebu pokazivača tako da i-ta ćelija liste
sadrži eksponent ei, koeficijent ci
i pokazivač na sljedeću ćeliju. Na početku programa unose
se red (maksimalna potencija x-a) i vrijednosti koeficijenata za svaki
polinoma. Ispisati dvije početne liste i listu rezultat nastalu zbrajanjem
polinoma.
Zadatak 4. Napisati program koji izgradi binarno
stablo traženja upotrebom polja. Broj čvorova stabla nije unaprijed
određen nego se zadaje na početku programa. U čvorove binarnog
stabla zapisuju se cijeli brojevi dobiveni upotrebom generatora slučajnih
brojeva. Napisati funkciju koja prebroji listove, funkciju koja prebroji
unutrašnje čvorove binarnog stabla i funkciju koja odredi maksimalnu
dubinu binarnog stabla. Ispisati stablo u inorder
algoritmu.
Zadatak 5. Napisati program koji izgradi binarno
stablo traženja upotrebom pokazivača (svaki čvor sadrži
pokazivače na lijevo i desno dijete čvora). Broj čvorova stabla
nije unaprijed određen nego se zadaje na početku programa. U
čvorove binarnog stabla zapisuju se cijeli brojevi dobiveni upotrebom generatora
slučajnih brojeva. Napisati funkciju koja prebroji listove, funkciju koja
prebroji unutrašnje čvorove binarnog stabla i funkciju koja odredi
maksimalnu dubinu binarnog stabla. Ispisati stablo u inorder
algoritmu.
Zadatak 6. Napisati program koji izgradi binarno
stablo traženja upotrebom polja. Broj čvorova stabla nije unaprijed
određen nego se zadaje na početku programa. U čvorove binarnog
stabla zapisuju se cijeli brojevi dobiveni upotrebom generatora slučajnih
brojeva. Napisati funkciju koja prebroji čvorove sa samo jednim djetetom,
funkciju koja prebroji čvorove s dvoje djece i funkciju koja odredi
minimalnu dubinu binarnog stabla. Ispisati stablo u inorder
algoritmu.
Zadatak 7. Napisati program koji izgradi binarno
stablo traženja upotrebom pokazivača (svaki čvor sadrži
pokazivače na lijevo i desno dijete čvora). Broj čvorova stabla
nije unaprijed određen nego se zadaje na početku programa. U
čvorove binarnog stabla zapisuju se cijeli brojevi dobiveni upotrebom
generatora slučajnih brojeva. Napisati funkciju koja prebroji čvorove
sa samo jednim djetetom, funkciju koja prebroji čvorove s dvoje djece i
funkciju koja odredi minimalnu dubinu binarnog stabla. Ispisati stablo u inorder algoritmu.
Zadatak 8. Napisati program u kojem se lista
cijelih brojeva sortira upotrebom binarnog stabla traženja uzlazno (od
najmanjeg prema najvećem elementu) i silazno (od najvećeg prema
najmanjem) upotrebom istog binarnog stabla traženja. Lista sadrži cijele
brojeve koje daje generator slučajnih brojeva. Broj elemenata liste nije
unaprijed određen nego se zadaje na početku programa. Binarno stablo
traženja izvesti upotrebom polja, a izvedbu liste izaberite sami (polje ili
pokazivači). Ispisati početnu listu i sortiranu listu.
Zadatak 9. Napisati program u kojem se lista
cijelih brojeva sortira upotrebom binarnog stabla traženja uzlazno (od
najmanjeg prema najvećem elementu) i silazno (od najvećeg prema
najmanjem) upotrebom istog binarnog stabla traženja. Lista sadrži cijele
brojeve koje daje generator slučajnih brojeva. Broj elemenata liste nije
unaprijed određen nego se zadaje na početku programa. Binarno stablo
traženja izvesti upotrebom pokazivača, a izvedbu liste izaberite sami
(polje ili pokazivači). Ispisati početnu listu i sortiranu listu.
Zadatak 10. Riješite problem vraćanja novca
tako da se uvijek vrati najmanji broj novčanica i napišite
odgovarajući program uz pretpostavku da se raspolaže novčanicama od
1000, 500, 200, 100, 50, 20, 10, 5, 2 i 1 kn. Na početku programa se unosi
iznos koji treba vratiti, a izlaz programa je ispis vrste i količine
novčanica koje se vraćaju.
Zadatak 11. Izraditi program za punjenje,
brisanje, pretraživanje i ispis dvostruko povezane liste (liste u kojoj svaki
čvor sadrži pokazivač na prethodni i sljedeći čvor). Element
liste sadržava cijeli broj i niz od 15 znakova. Lista se oblikuje prema cijelom
broju (to je ključ), novi element se unosi u listu tako da su cijeli
brojevi sortirani uzlazno, a elementi se brišu i pretražuju po vrijednosti
cijelog broja. Funkcija za ispis elemenata u listi mora ispisati obje varijable
koje čine element: cijeli broj i niz znakova.
Zadatak 12. Izraditi program za punjenje,
brisanje, pretraživanje i ispis jednostruko povezane liste s dva ključa
čiji element sadržava cijeli broj (prvi ključ), realni broj (drugi
ključ) i niz od 15 znakova. Dakle, u svaki čvor se upisuju: int
varijabla, float varijabla, char
duljine 15 varijabla, pokazivač na sljedeći element po int varijabli,
pokazivač na sljedeći element po float
varijabli. Listu treba složiti po rastućem cijelom broju i rastućem
realnom broju (podaci su zapisani samo jednom), element liste se briše i
pretražuje po oba ključa, tj. može se
pretraživati i brisati element i po vrijednosti int i po float
varijable. Funkcija za ispis treba ispisivati element sortirane po oba
ključa, po int i po float varijabli, te za svaki
element mora ispisati sve tri zapisane varijable (int, float
char).
Zadatak 13. Napraviti program u kojem se od
ulaznih podataka koje čine cijeli broj i niz od 10 znakova izgradi hrpa,
gdje je ključ za oblikovanje hrpe cijeli broj. Zatim napraviti uzlazno (od
najmanjeg prema najvećem elementu) sortiranje podataka prema vrijednosti
cijelog broja upotrebom sortiranja pomoću hrpe. Ispisati niz ulaznih
podataka i niz podataka nakon sortiranja, gdje je potrebno ispisati obje
varijable (int i char) u podatku.
Zadatak 14. Napraviti program u kojem generator
slučajnih brojeva daje niz cijelih brojeva. Broj generiranih cijelih
brojeva ne smije biti unaprijed ograničen nego se zadaje na početku
izvršavanja programa. Ulazni niz cijelih brojeva treba sortirati pomoću
sortiranja umetanjem (insertion sort),
sortiranja spajanjem (merge sort)
i brzim sortiranjem (quick sort).
Usporediti apriorna vremena izvršavanja ovih algoritama. Usporediti aposteriorna
vremena sortiranja ovih algoritama na velikom skupu ulaznih nizova
različite duljine i odrediti koji je najefikasniji za kraće nizove do
100 brojeva, a koji za nizove dulje od 10000 brojeva.
Zadatak 15. Napraviti program u kojem generator
slučajnih brojeva daje niz cijelih brojeva. Broj generiranih cijelih
brojeva ne smije biti unaprijed ograničen nego se zadaje na početku
izvršavanja programa. Ulazni niz cijelih brojeva treba sortirati pomoću mjehuričastog sortiranja umetanjem (bubble sort), sortiranja hrpom (heap sort) i brzim sortiranjem (quick sort). Usporediti apriorna
vremena izvršavanja ovih algoritama. Usporediti aposteriorna vremena sortiranja
ovih algoritama na velikom skupu ulaznih nizova različite duljine i
odrediti koji je najefikasniji za kraće nizove do 100 brojeva, a koji za
nizove dulje od 10000 brojeva.
Zadatak 16. Napraviti program u kojem generator
slučajnih brojeva daje niz ASCII znakova koji predstavljaju mala i velika
slova engleske abecede. Broj generiranih znakova ne smije biti unaprijed
ograničen nego se zadaje na početku izvršavanja programa. Ulazni niz
slova treba sortirati pomoću sortiranja umetanjem (insertion
sort), sortiranja spajanjem (merge
sort) i brzim sortiranjem (quick
sort). Usporediti apriorna vremena izvršavanja ovih
algoritama. Usporediti aposteriorna vremena sortiranja ovih algoritama na
velikom skupu ulaznih nizova različite duljine i odrediti koji je
najefikasniji za kraće nizove do 100 znakova, a koji za nizove dulje od
10000 znakova.
Zadatak 17. Napraviti program u kojem generator
slučajnih brojeva daje niz ASCII znakova koji predstavljaju mala i velika
slova engleske abecede. Broj generiranih znakova ne smije biti unaprijed
ograničen nego se zadaje na početku izvršavanja programa. Ulazni niz
slova treba sortirati pomoću mjehuričastog
sortiranja (bubble sort),
sortiranja hrpom (heap sort)
i brzim sortiranjem (quick sort).
Usporediti apriorna vremena izvršavanja ovih algoritama. Usporediti
aposteriorna vremena sortiranja ovih algoritama na velikom skupu ulaznih nizova
različite duljine i odrediti koji je najefikasniji za kraće nizove do
100 znakova, a koji za nizove dulje od 10000 znakova.
Zadatak 18. Usporediti aposteriorna vremena
izvršavanja punjenja generiranim slučajnim cijelim brojevima jednostruke
linearne liste u padajućem nizu za slučajeve izvedbe liste
pomoću polja i pomoću pokazivača. Usporediti vremena izvršavanja
za kraće nizove (do 50 brojeva) i dugačke znakove (5000 brojeva).
Zadatak 19. Napisati program u kojem se napravi
lista pomoću pokazivača čiji su elementi cijeli brojevi. Broj
elemenata u listi nije unaprijed zadan već se učita na početku
izvršavanja programa. Lista se puni pomoću generatora slučajnih
brojeva. Napisati funkciju koja će sortirati listu upotrebom algoritma brzog
sortiranja (quick sort).
Listu treba sortirati uzlazno (od najmanjeg prema najvećem elementu) i
silazno (od najvećeg prema najmanjem elementu). Ispisati početnu
listu i sortirane liste.
Zadatak 20. Napisati program u kojem se napravi
lista pomoću polja čiji su elementi cijeli brojevi. Broj elemenata u
listi nije unaprijed zadan već se učita na početku izvršavanja
programa. Lista se puni pomoću generatora slučajnih brojeva. Napisati
funkciju koja će sortirati listu upotrebom algoritma brzog sortiranja (quick sort). Listu treba
sortirati uzlazno (od najmanjeg prema najvećem elementu) i silazno (od
najvećeg prema najmanjem elementu). Ispisati početnu listu i
sortirane liste.
Zadatak 21. Koristeći Eratostenov algoritam napisati program koji će za bilo koji upisani prirodni broj provjeriti da li je prim broj te ako nije prikazati ga kao umnožak prim brojeva (dakle n = p1*p2*…*pk
gdje su pi prim
brojevi). Provjeriti da li je takav prikaz jedinstven, tj.
da li postoji neki drugi niz prim brojeva qi za koje umnožak q1*q2*…*qj
daje n.
Zadatak 22. Napraviti program u kojem se oblikuje linearna jednostuko povezana lista upotrebom
pokazivača u čije su čvorove upisani: cijeli broj, niz od 15 znakova i realni broj. Lista je poredana uzlazno prema vrijednosti cijelog broja. Napisati funkciju za pronalaženje i ispis člana liste sa zadanim cijelim brojem. Ulazni argumenti su glava liste i cijeli broj, a funkcija treba ispisati sve tri varijable zapisane u čvoru (int, char i float). Funkcija vraća rezultat 0 ako cijeli broj nije nađen, a 1 ako jest.
Zadatak 23. Napisati funkcije za dodavanje i skidanje elementa u stog realiziran poljem. Maksimalan broj zapisa
nije unaprijed određen nego se zadaje na početku programa. U glavnom
programu izvesti učitavanje podataka za element stoga kao i ispisivanje
elementa stoga koji je skinut (npr. unijeti nekoliko
elemenata u stog, a zatim skinuti i ispisati svaki element sve dok stog ne
ostane prazan). Element stoga čine: cijeli broj (int), niz znakova duljine
20 (char), realni broj (float)
i kratki cijeli broj (short).
Zadatak 24. Napisati funkcije za dodavanje i skidanje elementa u stog realiziran pokazivačima. Maksimalan broj zapisa
nije unaprijed određen nego se zadaje na početku programa. U glavnom
programu izvesti učitavanje podataka za element stoga kao i ispisivanje
elementa stoga koji je skinut (npr. unijeti nekoliko
elemenata u stog, a zatim skinuti i ispisati svaki element sve dok stog ne
ostane prazan). Element stoga čine: cijeli broj (int), niz znakova duljine
20 (char), realni broj (float)
i niz znakova duljine 15 (char).
Zadatak 25. Napraviti program koji će u memoriji oblikovati linearnu listu upotrebom
pokazivača. U pojedini čvor liste se upisuje: cijeli broj, niz znakova duljine 30, kratki cijeli broj, realni broj i pokazivač na sljedeći čvor. Napisati funkciju koja
će iz liste ispisati sve zapise koji sadrže neku zadanu vrijednost kratkog
cijelog broja. Napisati funkciju koja će izračunati prosječnu
vrijednost realnog broja u svim čvorovima.
Zadatak 26. Napraviti program u kojem se red realizira upotrebom
pokazivača. Svaki element reda sadrži cijeli broj, realni broj i niz od 15 znakova. Treba napisati funkciju koja dodaje i funkciju koja briše element iz reda, te
funkciju za ispis elementa na kojem se obavlja operacija. Ako je operacija uspjela, funkcija vraća vrijednost
Zadatak 27. Napraviti program u kojem se red
ostvaruje upotrebom cirkularnog polja. Svaki element reda sadržava cijeli broj
i niz znakova duljine 5. Napisati funkciju koja dodaju element u red, funkciju
koja briše element iz reda te funkciju za ispis elementa na kojem se obavlja
operacija. Ako je operacija uspjela, funkcija vraća vrijednost
Zadatak 28. Napraviti program u kojem se od
ulaznih podataka koje čine cijeli broj i niz od 10 znakova izgradi hrpa,
gdje je ključ za oblikovanje hrpe cijeli broj. Zatim napraviti silazno (od
najvećeg prema najmanjem elementu) sortiranje podataka prema vrijednosti
cijelog broja upotrebom sortiranja pomoću hrpe. Ispisati niz ulaznih
podataka i niz podataka nakon sortiranja, gdje je potrebno ispisati obje
varijable (int i char) u podatku.
Zadatak 29. Napisati funkciju za punjenje binarnog stabla traženja u čije čvorove treba upisati: cijeli broj, realni broj i niz od 15
znakova. Stablo treba sortirati po cijelom broju; lijevo manji, desno veći. Sami izaberite izvedbu
binarnog stabla traženja (polje ili pokazivači). Napisati funkciju za ispis elemenata za koju je ulazni argument korijen stabla, a ispis treba biti poredan po vrijednosti cijelog broja od najmanjeg do najvećeg. Napisati funkciju koja ispiše
sve elemente binarnog stabla za koje je realni broj manji od neke određene
vrijednosti koja se unese u glavnoj funkciji programa tijekom izvršavanja, te
funkciju koja ispiše sve elemente binarnog stabla za koje niz znakova
počinje nekim određenim slovom koje se zadaje tijekom izvršavanja
programa.
Zadatak 30. U memoriji napraviti binarno stablo
traženja u čije čvorove se upisuju 2 podatka: prvi tipa int i drugi
tipa float. Sami izaberite izvedbu binarnog stabla
traženja (polje ili pokazivači). Stablo se sortira prema cjelobrojnom
podatku (lijevo manji, desno veći). Ispisati stablo po algoritmu INORDER.
Napisati funkcije MIN() i MAX(), čiji su ulazni argument korijen stabla, koje
u najmanjem mogućem broju koraka moraju naći i ispisati zapise koji
odgovaraju najmanjoj i najvećoj cjelobrojnoj vrijednosti (nije dopušteno
pročitati zapise u svim čvorovima). U programu zatim izbrisati
čvorove koji odgovaraju tim zapisima te ispisati tako nastalo stablo u
INORDER algoritmu. Napisati funkciju koja izračuna i ispiše prosječnu
vrijednost varijable tipa float u stablu.
Zadatak 31. Napisati program koji će iz
datoteke pročitati imena i prezimena studenata i upisati ih po abecedi (po
prezimenima) u listu čiji su elementi oblika ime (20 znakova), prezime (20
znakova). Broj studenata nije unaprijed zadan nego ovisi o broju zapisa u
ulaznoj datoteci. Elemente te liste treba prekopirati i složiti u red upotrebom
generatora slučajnih brojeva (npr. prvi
generirani broj je 13, tada je prvi element reda student koji je na poziciji 13
u listi, pa drugi generirani broj 7 daje da je drugi student u redu onaj koji
je 7 u listi itd) tako da se svaki student pojavljuje
na samo jednom mjestu u redu. Elementi reda su oblika ime (20 znakova), prezime
(20 znakova), zadatak (short). Vrijednost varijable
zadatak (kratki cijeli broj) za svaki element reda mora biti od 1 do N (N se
zadaje tijekom izvođenja programa i ne smije biti unaprijed zadan) i treba
ju upisati (svaki broj samo jednom, bez ponavljanja istih brojeva) u red
također koristeći generator slučajnih brojeva (npr. ako je prvi generirani broj 17 tada taj broj ide uz
studenta koji je prvi u redu itd). Tako dobiven red
treba ispisati u obliku: ime, prezime, zadatak.
Zadatak 32. Napraviti program koji će veliki
broj puta (recimo milijun ili više) generiranjem slučajnih brojeva (koji
odgovaraju broju točkica na kockama, dakle od 1 do 6) simulirati bacanje
šest jednakih kockica. Iz dobivenih rezultata odrediti vjerojatnost da
točno četiri kockice padnu tako da pokazuju isti broj točkica
(znači da imamo četiri jedinice ili četiri dvojke ili …
četiri šestice). Usporediti dobiveni rezultat s rezultatom koji daje
teorija vjerojatnosti.
Zadatak 33. Napraviti program u kojem će se
simulirati izvlačenje šest igraćih karata iz špila od 52 karte (boje
karata su pik, kara, srce i tref, vrijednosti 2, 3, 4, 5, 6, 7, 8, 9, 10,
dečko, dama, kralj i as). Simuliranjem izvlačenja karata za veliki
broj pokušaja (recimo milijun) odrediti vjerojatnost da od šest izvučenih
karata četiri imaju istu vrijednost (dakle da se izvuku četiri asa,
četiri kralja , … četiri dvojke). Usporediti dobiveni rezultat s
rezultatom koji daje teorija vjerojatnosti.
Zadatak 34. Napraviti program u kojem generator
slučajnih brojeva daje niz ASCII znakova koji odgovaraju malim i velikim
slovima engleske abecede. Duljina niza znakova nije unaprijed određena
nego se zadaje na početku izvršavanja programa. Dobiveni niz znakova treba
sortirati uzlazno upotrebom mjehuričastog
sortiranja (bubble sort).
Napisati funkciju koja algoritmom binarnog pretraživanja pronalazi da li se i
na kojem mjestu u nizu nalazi zadano slovo. Također napisati funkciju koja
to isto radi algoritmom linearnog pretraživanja. Usporediti aposteriorna
vremena izvršavanja pretraživanja sortiranog niza znakova za linearno i binarno
pretraživanje. Također usporediti aposteriorna vremena izvršavanja
linearnog pretraživanja nesortiranog niza znakova s vremenom potrebnim za
sortiranje mjehuričastim sortom i binarnim
pretraživanjem sortiranog niza.
Zadatak 35.
Na predavanjima smo obrađivali apstraktni tip podataka RJEČNIK i
prikazali ga kao podvrstu apstraktnog tipa podataka SKUP za koji su definirane
samo četiri osnovne operacije: MAKE_NULL(), INSERT(), DELETE() i MEMBER().
Pokazali smo njegovu izvedbu pomoću binarnog stabla traženja gdje je
binarno stablo izvedeno pomoću pokazivača. Napisati funkcije za
gornje četiri operacije kada je element rječnika niz znakova duljine
30. Broj elemenata u rječniku nije unaprijed određen nego se zadaje
na početku izvršavanja programa ovisno o broju podataka koji se unose u
rječnik učitavanjem iz ulazne datoteke. Ti podaci se mogu mijenjati
brisanjem postojećih i ubacivanjem novih nizova znakova. Na kraju
izvršavanja programa treba sve podatke pospremiti u novu izlaznu datoteku.
Zadatak 36. Na predavanjima smo obrađivali
apstraktni tip podataka PRIORITETNI RED za koji su definirane četiri
osnovne operacije: MAKE_NULL(), EMPTY(), INSERT(), DELETE_MIN() i pokazali kako
se može izvesti pomoću hrpe. Napisati funkcije za gornje četiri
operacije kada se element prioritetnog reda sastoji od cijelog broja koji
označava prioritet (veći broj znači veći prioritet) i niza
znakova duljine 10. Broj elemenata u prioritetnom redu nije unaprijed
određen nego ovisi o broju podataka koji se učitavaju iz ulazne
datoteke. Napisati funkciju MEMBER() koja određuje da li se neki niz
znakova nalazi u prioritetnom redu i ako da koji je prioritet tog elementa, a
ukoliko se zadani niz ne nalazi u prioritetnom redu treba o tome obavijestiti.
Zadatak 37. Na predavanjima smo pokazali tri
različita algoritma za računanje vrijednosti polinoma u zadanoj
točci (najjednostavnijom upotrebom matematičke definicije polinoma,
poboljšanim algoritmom koji posprema međurezultate potenciranja i Hornerov algoritam). Napisati funkcije koje računaju
vrijednost polinoma za svaki od ovih algoritama. Red polinoma (maksimalna
potencija x-a) i koeficijenti polinoma se unose na početku izvršavanja
programa. Usporediti aposteriorna vremena izvršavanja ova tri algoritma na
velikom skupu ulaznih podataka koji predstavljaju polinome različite
duljine i odrediti kolika je ušteda na vremenu izvršavanja Hornerovog
algoritma prema ostala dva algoritma za različite duljine polinoma.
Zadatak 38. Napisati program u kojem se napravi
lista pomoću pokazivača čiji su elementi cijeli brojevi. Broj
elemenata u listi nije unaprijed zadan već se učita na početku
izvršavanja programa. Lista se puni pomoću generatora slučajnih
brojeva. Napisati funkciju koja će sortirati listu upotrebom algoritma sortiranja
umetanjem (insertion sort)
i funkciju koja će sortirati upotrebom mjehuričastog
sortiranja (bubble sort).
Listu treba sortirati uzlazno (od najmanjeg prema najvećem elementu) i
silazno (od najvećeg prema najmanjem elementu). Ispisati početnu
listu i sortirane liste.
Zadatak 39. Napisati program u kojem se napravi
lista pomoću polja čiji su elementi cijeli brojevi. Broj elemenata u
listi nije unaprijed zadan već se učita na početku izvršavanja
programa. Lista se puni pomoću generatora slučajnih brojeva. Napisati
funkciju koja će sortirati listu upotrebom algoritma sortiranja umetanjem
(insertion sort) i funkciju
koja će sortirati upotrebom mjehuričastog
sortiranja (bubble sort).
Listu treba sortirati uzlazno (od najmanjeg prema najvećem elementu) i
silazno (od najvećeg prema najmanjem elementu). Ispisati početnu
listu i sortirane liste.
Zadatak 40. Napraviti program u kojem se od
ulaznih podataka koje čine niz od 10 znakova i realni broj izgradi hrpa,
gdje je ključ za oblikovanje hrpe niz znakova (slaganje po abecedi). Zatim
napraviti uzlazno (od najmanjeg prema najvećem elementu) sortiranje
podataka upotrebom sortiranja pomoću hrpe. Ispisati niz ulaznih podataka i
niz podataka nakon sortiranja, gdje je potrebno ispisati obje varijable (char i float) u podatku.