Zadatak 1:
Napisati zadatak za rad sa uređenom listom celih brojeva. Element liste je tipa strukture koja se sastoji od celobrojne promenljive i pokazivača na sledeći element u listi. Za pristup elementima liste koristit promenljivu glava koja je pokazivač na prvi element u listi. Realizovati sledeće funkcije: inicijalizacija liste, unos novog elementa u listu tako da lista bude uređena u opadajućem redolsedu, prikaz svih elemenata liste, pronalaženje elementa u listi, brisanje elementa iz liste i brisanje svih elemenata iz liste. Preko sistema menija proveriti ispravnost rada funkcija.
Varijanta a:
Na početku programa je potrebno (ukoliko datoteka postoji) da se iz tekstualne datoteke (brojevi.txt) učitaju podaci u listu. Ako datoteka ne postoji ispisati poruku da ne postoji. Prilikom izlaska iz programa potrebno je upisati podatke iz liste u istoimeni fajl i osloboditi listu.
Varijanta b (domaći):
Na početku programa je potrebno (ukoliko datoteka postoji) da se iz binarne datoteke (brojevi.dat) učitaju podaci u listu. Ako datoteka ne postoji ispisati poruku da ne postoji. Prilikom izlaska iz programa potrebno je upisati podatke iz liste u istoimeni fajl i osloboditi listu.
printf("\nProgram za rad sa listom uredjenih brojeva");
printf("\n1) Unos elementa u listu");
printf("\n2) Ispis svih elemenata liste");
printf("\n3) Trazenje elementa u listi");
printf("\n4) Brisanje elmenta iz liste");
printf("\n5) Brisanje liste");
printf("\n6) Kraj programa");
printf("\nOdaberite opciju:");Domaći 1: u prethodnom zadatku prilikom unosa omogućiti korisniku da ne unosi podatke jedan po jedan već da može da unese grupu podataka. Prvo ga pitati koliko celih brojeva želi da unese a potom ih uneti.
Domaći 2: na osnovu prethodnog zadatka realizovati listu koja se razlikuje od prethodne na taj način što lista neće biti uređena jer će se elementi unositi na početak liste tako da glava pokazuje uvek na poslednji uneti element u listi. (ovakva realizacija liste odgovara najviše strukturi podataka koja je dinamički stek).
Domaći 3: na osnovu prethodnog zadatka realizovati listu koja se razlikuje od prethodne na taj način što lista neće biti uređena jer će se elementi unositi na kraj liste tako da glava pokazuje uvek na prvi uneti element u listi. (ovakva realizacija liste odgovara najviše strukturi podataka koja je dinamički red).
Zadatak 2(Domaći):
Napisati zadatak za rad sa uređenom listom prezimena koji su tipa niza karaktera. Potrebno je definisati podatak tipa string. Element liste je tipa strukture koja se sastoji od promenljive tipa string i pokazivača na sledeći element u listi. Za pristup elementima liste koristit promenljivu glava koja je pokazivač na prvi element u listi. Realizovati sledeće funkcije: inicijalizacija liste, unos novog elementa u listu tako da lista bude uređena u rastućem redolsedu, prikaz svih elemenata liste, pronalaženje elementa u listi, brisanje elementa iz liste i brisanje svih elemenata iz liste. Preko sistema menija proveriti ispravnost rada funkcija. Omogućiti korisniku da prilikom unosa može da unese više prezimena!
Varijanta a:
Na početku programa je potrebno (ukoliko datoteka postoji) da se iz tekstualne datoteke (prezime.txt) učitaju podaci u listu. Ako datoteka ne postoji ispisati poruku da ne postoji. Prilikom izlaska iz programa potrebno je upisati podatke iz liste u istoimeni fajl i osloboditi listu.
Varijanta b:
Na početku programa je potrebno (ukoliko datoteka postoji) da se iz binarne datoteke (prezime.dat) učitaju podaci u listu. Ako datoteka ne postoji ispisati poruku da ne postoji. Prilikom izlaska iz programa potrebno je upisati podatke iz liste u istoimeni fajl i osloboditi listu.
Domaći 1: na osnovu prethodnog zadatka realizovati listu koja se razlikuje od prethodne na taj način što lista neće biti uređena jer će se elementi unositi na početak liste tako da glava pokazuje uvek na poslednji uneti element u listi. (ovakva realizacija liste odgovara najviše strukturi podataka koja je dinamički stek).
Domaći 2: na osnovu prethodnog zadatka realizovati listu koja se razlikuje od prethodne na taj način što lista neće biti uređena jer će se elementi unositi na kraj liste tako da glava pokazuje uvek na prvi uneti element u listi. (ovakva realizacija liste odgovara najviše strukturi podataka koja je dinamički red).
Zadatak 3:
Napisati zadatak za rad sa uređenom listom učenika. Element liste je tipa strukture koja se sastoji od promenljive tipa strukture koja predstavlja učenika i pokazivača na sledeći element u listi. Strukutra učenik se sastoji od tri polja: prvi je id učenika koji je ceo broj i koji se prikazuje u obliku 4 cifre (0023), prezime učenika je promenljiva tipa string i prosek učenika je promenljiva realnog tipa. Za pristup elementima liste koristit promenljivu glava koja je pokazivač na prvi element u listi. Realizovati sledeće funkcije: inicijalizacija liste, unos novog elementa u listu tako da lista bude uređena u rastućem redolsedu na osnovu id-a učenika, prikaz svih elemenata liste (ako učenik ima prosek ispod 2.00 ispisati umesto proseka poruku nedovoljan), pronalaženje elementa u listi (na osnovu prezimena učenika), brisanje elementa iz liste i brisanje svih elemenata iz liste. Preko sistema menija proveriti ispravnost rada funkcija. Omogućiti korisniku da prilikom unosa može da unese više učenika!
Varijanta a (Domaći):
Na početku programa je potrebno (ukoliko datoteka postoji) da se iz tekstualne datoteke (ucenik.txt) učitaju podaci u listu. Prvi podatak predstavlja broj elemenata liste u datoteci. Ako datoteka ne postoji ispisati poruku da ne postoji. Ako je datoteka prazna sadrži samo broj 0 (obraditi i taj slučaj). Prilikom izlaska iz programa potrebno je upisati podatke iz liste u istoimeni fajl i osloboditi listu. Prvi podatak treba da bude broj elemenata liste. Ostale podatke treba upisati tako da prvi element liste bude prvi upisan u datoteku. Ako je lista prazan upisati broj 0.
Varijanta b:
Na početku programa je potrebno (ukoliko datoteka postoji) da se iz binarne datoteke (ucenik.dat) učitaju podaci u listu. Ako datoteka ne postoji ispisati poruku da ne postoji. Prilikom izlaska iz programa potrebno je upisati podatke iz liste u istoimeni fajl i osloboditi listu. Podatke treba upisati tako da prvi element liste bude prvi upisan u datoteku.
while (fscanf(dat, "%d %s %f", &idUcenika, prezime, &prosek) != EOF)
{
printf("\n%d %s %.2f", idUcenika, prezime, prosek);
}
//primer citanja fajla red po red gde je
//u jednom redu smesten id ucenika, prezime i prosek koji su
//razdvojeni znacima razmaka
//Primer:
//203 Matijevic 4.22
fprintf(dat, "%d %s %.2f\n", idUcenika, prezime, prosek);
//primer upisa podataka u fajl red pored
//u jednom redu se upisuje id ucenika, prezime i prosek koji su
//razdvojeni znacima razmaka
//Primer:
//203 Matijevic 4.22Domaći 1: na osnovu prethodnog zadatka realizovati listu koja se razlikuje od prethodne na taj način što lista neće biti uređena jer će se elementi unositi na početak liste tako da glava pokazuje uvek na poslednji uneti element u listi. (ovakva realizacija liste odgovara najviše strukturi podataka koja je dinamički stek).
Domaći 2: na osnovu prethodnog zadatka realizovati listu koja se razlikuje od prethodne na taj način što lista neće biti uređena jer će se elementi unositi na kraj liste tako da glava pokazuje uvek na prvi uneti element u listi. (ovakva realizacija liste odgovara najviše strukturi podataka koja je dinamički red).
Zadatak 4 (Domaći):
Napisati zadatak za rad sa uređenom listom učenika. Element liste je tipa strukture koja se sastoji od promenljive tipa strukture koja predstavlja učenika i pokazivača na sledeći element u listi. Strukutra učenik se sastoji od tri polja: prvi je id učenika koji je ceo broj i koji se prikazuje u obliku 4 cifre (0023), prezime učenika je promenljiva tipa string i prosek učenika je promenljiva tipa Za pristup elementima liste koristit promenljivu glava koja je pokazivač na prvi element u listi. Realizovati sledeće funkcije: inicijalizacija liste, unos novog elementa u listu tako da lista bude uređena u opadajućem redolsedu na osnovu prezimena učenika, prikaz svih elemenata liste (ako učenik ima prosek ispod 2.00 ispisati umesto proseka poruku nedovoljan), pronalaženje elementa u listi (na osnovu id-a učenika), brisanje elementa iz liste i brisanje svih elemenata iz liste. Preko sistema menija proveriti ispravnost rada funkcija. Omogućiti korisniku da prilikom unosa može da unese više učenika!
Varijanta a:
Na početku programa je potrebno (ukoliko datoteka postoji) da se iz tekstualne datoteke (ucenik.txt) učitaju podaci u listu. Prvi podatak predstavlja broj elemenata liste u datoteci. Ako datoteka ne postoji ispisati poruku da ne postoji. Ako je datoteka prazna sadrži samo broj 0 (obraditi i taj slučaj). Prilikom izlaska iz programa potrebno je upisati podatke iz liste u istoimeni fajl. Prvi podatak treba da bude broj elemenata liste. Ostale podatke treba upisati tako da prvi element liste bude prvi upisan u datoteku. Ako je lista prazan upisati broj 0.
Varijanta b:
Na početku programa je potrebno (ukoliko datoteka postoji) da se iz binarne datoteke (ucenik.dat) učitaju podaci u listu. Ako datoteka ne postoji ispisati poruku da ne postoji. Prilikom izlaska iz programa potrebno je upisati podatke iz liste u istoimeni fajl. Podatke treba upisati tako da prvi element liste bude prvi upisan u datoteku.
Domaći 1: na osnovu prethodnog zadatka realizovati listu koja se razlikuje od prethodne na taj način što lista neće biti uređena jer će se elementi unositi na početak liste tako da glava pokazuje uvek na poslednji uneti element u listi. (ovakva realizacija liste odgovara najviše strukturi podataka koja je dinamički stek).
Domaći 2: na osnovu prethodnog zadatka realizovati listu koja se razlikuje od prethodne na taj način što lista neće biti uređena jer će se elementi unositi na kraj liste tako da glava pokazuje uvek na prvi uneti element u listi. (ovakva realizacija liste odgovara najviše strukturi podataka koja je dinamički red).
Ocenjivanje
Unos u uređenu listu:20 ili Unos u neuređenu listu:10
Ispis liste:10
Pretraga liste:20
Brisanje elementa iz liste: 20
Brisanje cele liste:10
Čitanje fajla:10
Upis u fajl:10
Sistem menija:5
Poruka ako je lista prazna i oslobađanje liste na kraju programa:5
40 - 54 ocena:2
55 - 69 ocena:3
70 - 84 ocena:4
85-105 ocena:5
NAPOMENA: za ocenu niže element liste je prost tip podatka (int, string, float, double). Određuje profesor!