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 1, a ako nije, vraća 0.

 

 

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 1, a ako nije, vraća 0.

 

 

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.