Treći domaći


XYZ

Napisati program koji između svakog para brojeva $x$ i $y$ u jednostruko povezanoj listi umeće broj $z$ (pri tome $x$ i $y$ su uzastopni i $x$ je pre $y$).

Napomena: Zadatak se mora uraditi korišćenjem listi.

Ulaz

Sa standardnog ulaza se učitava lista celih brojeva. Nakon toga se učitavaju celi brojevi $x$, $y$ i $z$.

Izlaz

Na standardni izlaz ispisati listu nakon primene umetanja.

U slučaju greške, na standardni izlaz za greške ispisati -1 i završiti program sa izlaznim kodom neuspeha (1).

Primer

Ulaz

[2, 4, 3, 2, 4, 5]
2 4 7

Izlaz

[2, 7, 4, 3, 2, 7, 4, 5]

Primer

Ulaz

[2, 4, 3, 2, 4, 5]
4 2 7

Izlaz

[2, 4, 3, 2, 4, 5]

Primer

Ulaz

[2, 2, 2]
2 2 2

Izlaz

[2, 2, 2, 2, 2]

Svaki drugi

Izbaciti svaki drugi element iz jednostruko povezane liste.

Napomena: Zadatak se mora uraditi korišćenjem listi.

Ulaz

Sa standardnog ulaza se učitava lista celih brojeva.

Izlaz

Na standardni izlaz ispisati listu nakon izbacivanja elemenata.

U slučaju greške, na standardni izlaz za greške ispisati -1 i završiti program sa izlaznim kodom neuspeha (1).

Primer

Ulaz

[1, 2, 3, 4, 5, 6]

Izlaz

[1, 3, 5]

Primer

Ulaz

[1, 2, 3, 4, 5]

Izlaz

[1, 3, 5]

Primer

Ulaz

[1]

Izlaz

[1]

Fibonači lista

Date su dve jednostruko povezane liste celih brojeva. Potrebno je formirati Fibonači listu na sledeći način:

Broj čvorova koji se preuzima iz liste prati Fibonačijev niz
(1, 1, 2, 3, 5, 8, …), pri čemu se liste naizmenično koriste.

Čvorovi se premeštaju bez pravljenja novih čvorova, isključivo
modifikovanjem pokazivača. Sentinel prve liste treba da bude sentinel
rezultujuće liste.

Ako se neka lista isprazni, preuzimaju se svi preostali čvorovi iz druge liste.

Ulaz

Sa standardnog ulaza se učitavaju dve liste celih brojeva.

Izlaz

Na standardni izlaz ispisati Fibonači listu dobijenu od prosleđenih listi.

U slučaju greške, na standardni izlaz za greške ispisati -1 i završiti program sa izlaznim kodom neuspeha (1).

Primer

Ulaz

[1, 2, 3, 4, 5, 6, 7, 8]
[-1, -2, -3, -4, -5, -6, -7, -8]

Izlaz

[1, -1, 2, 3, -2, -3, -4, 4, 5, 6, 7, 8, -5, -6, -7, -8]

Primer

Ulaz

[1, 2, 3]
[-1, -2, -3, -4, -5, -6, -7, -8]

Izlaz

[1, -1, 2, 3, -2, -3, -4, -5, -6, -7, -8]

Slalom

Data je dvostruko povezana lista celih brojeva.
Potrebno je preurediti elemente liste primenom takozvanog „slalom” postupka.

Slalom postupak podrazumeva sledeći redosled elemenata:

Preuređivanje je potrebno izvršiti bez pravljenja novih čvorova, isključivo
modifikovanjem pokazivača u postojećoj listi.


Ulaz

Sa standardnog ulaza se učitava dvostruko povezana lista celih brojeva.

Izlaz

Na standardni izlaz ispisati listu nakon primene slalom postupka.

U slučaju greške, na standardni izlaz za greške ispisati -1 i završiti program sa izlaznim kodom neuspeha (1).

Primer

Ulaz

[1, 2, 3, 4, 5]

Izlaz

[1, 5, 2, 4, 3]

Primer

Ulaz

[1, 2, 3, 4, 5, 6]

Izlaz

[1, 6, 2, 5, 3, 4]

Plejlista

Na plejlisti se nalazi određeni broj pesama. Za svaku pesmu je poznato koliko traje (u sekundama). Kada se završi poslednja pesma sa plejliste, pušta se ponovo prva pesma.

Student Aca voli da sluša muziku sa pomenute plejliste dok uči. Međutim, Aca se tokom svog učenja povremeno iznervira i, nakon što je odsluša, obriše pesmu koju je u tom trenutku slušao. Ukoliko je poznato u kojim trenucima se Aca iznervirao (izraženim u sekundama od početka učenja), ispisati novi izgled plejliste nakon brisanja pesama.

Napomena: Zadatak se mora rešiti korišćenjem listi. Podrazumevati da Aca kreće da sluša listu od početka. Ukoliko se Aca više puta iznervira u toku jedne pesme, računati da se briše samo ta pesma.

Ulaz

Sa standardnog ulaza se učitava lista pozitivnih celih brojeva koja predstavlja trajanja pesama sa plejliste.
Nakon toga, unosi se prirodan broj $n$, a zatim i $n$ trenutaka u kojima se Aca iznervirao.

Izlaz

Na standardni izlaz ispisati sadržaj plejliste nakon što je Aca pobrisao neke pesme.

U slučaju greške, na standardni izlaz za greške ispisati -1 i završiti program sa izlaznim kodom neuspeha (1).

Primer

Ulaz

[100, 300, 200, 400]
2
350 450

Izlaz

[100, 400]

Primer

Ulaz

[100, 300, 200, 400]
2
1350 2500

Izlaz

[100, 200]