Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct pacijent{
- int matbr;
- int dob;
- };
- struct tpacijenti{
- pacijent pacov;
- tpacijenti *sljedeci;
- };
- void InitL(tpacijenti *lista){
- lista->sljedeci=NULL;
- }
- tpacijenti *FirstL(tpacijenti *lista){
- return lista->sljedeci;
- }
- tpacijenti *EndL(tpacijenti *lista){
- return NULL;
- }
- tpacijenti *NextL(int p, tpacijenti *lista){
- tpacijenti *zadnji;
- zadnji=lista;
- int brojac=0;
- while(zadnji->sljedeci){
- brojac++;
- zadnji=zadnji->sljedeci;
- if (brojac==p){
- if (zadnji->sljedeci==NULL) return EndL(lista);
- else{
- return zadnji->sljedeci;
- }
- }
- }
- }
- tpacijenti *PreviousL(int p, tpacijenti *lista){
- tpacijenti *zadnji, *prethodni;
- prethodni=lista;
- zadnji=prethodni->sljedeci;
- int brojac=2;
- if(p==0 || p==1)cout<<"Prethodni ne postoji"<<endl;
- else{
- while(zadnji->sljedeci){
- prethodni=zadnji;
- zadnji=zadnji->sljedeci;
- prethodni->sljedeci=zadnji;
- brojac++;
- if(brojac==p){
- return prethodni->sljedeci;
- }
- }
- }
- }
- tpacijenti *LocateL(int x, tpacijenti *lista){
- tpacijenti *zadnji;
- zadnji=lista;
- int brojac=1;
- while(zadnji->sljedeci){
- if(x==brojac) return zadnji->sljedeci;
- zadnji=zadnji->sljedeci;
- brojac++;
- }
- return EndL(lista);
- }
- void InsertL(pacijent x, int p, tpacijenti *lista){
- int brojac=0;
- tpacijenti *zadnji,*prethodni;
- prethodni=lista;
- zadnji=prethodni->sljedeci;
- while(prethodni->sljedeci){
- if(p==brojac){
- tpacijenti *novi=new tpacijenti;
- novi->pacov.matbr=x.matbr;
- novi->pacov.dob=x.dob;
- novi->sljedeci=zadnji;
- prethodni->sljedeci=novi;
- }
- prethodni=prethodni->sljedeci;
- brojac++;
- }
- }
- void Insert(pacijent x, tpacijenti *lista){
- tpacijenti *zadnji, *novi;
- zadnji=lista;
- while(zadnji->sljedeci)
- zadnji=zadnji->sljedeci;
- novi=new tpacijenti;
- novi->pacov=x;
- zadnji->sljedeci=novi;
- novi->sljedeci=NULL;
- }
- int Delete(tpacijenti *lista, int matbr){
- tpacijenti *brisi=lista->sljedeci;
- tpacijenti *prethodni=lista;
- while(brisi){
- if(brisi->pacov.matbr==matbr){
- prethodni->sljedeci=brisi->sljedeci;
- delete brisi;
- return 1;
- }
- prethodni=brisi;
- brisi=brisi->sljedeci;
- }
- return 0;
- }
- void DeleteL(int p, tpacijenti *lista){
- int brojac=1;
- tpacijenti *zadnji,*prethodni, *brisi;
- prethodni=lista;
- zadnji=prethodni->sljedeci;
- while(prethodni->sljedeci){
- if(p==brojac){
- brisi=prethodni->sljedeci;
- prethodni->sljedeci=brisi->sljedeci;
- delete brisi;
- }
- }
- }
- tpacijenti *RetrieveL(int p, tpacijenti *lista){
- int brojac=0;
- tpacijenti *trenutni;
- trenutni=lista;
- while(trenutni->sljedeci){
- if (p==brojac) return trenutni;
- else{
- brojac++;
- trenutni=trenutni->sljedeci;
- }
- }
- }
- void DeleteAllL(tpacijenti *lista){
- tpacijenti *zadnji, *brisi;
- while(lista->sljedeci){
- brisi=lista->sljedeci;
- zadnji=brisi->sljedeci;
- lista->sljedeci=zadnji;
- delete brisi;
- }
- }
- void sort(tpacijenti *lista){
- tpacijenti *prethodni,*tekuci,*sljedeci;
- int indikator,brojac=0;
- do{
- indikator = 0;
- tekuci=lista->sljedeci;
- prethodni=lista;
- while (tekuci->sljedeci){
- sljedeci=tekuci->sljedeci;
- if (tekuci->pacov.matbr > sljedeci->pacov.matbr){
- prethodni->sljedeci=sljedeci;
- tekuci->sljedeci=sljedeci->sljedeci;
- sljedeci->sljedeci=tekuci;
- indikator=1;
- }
- prethodni=prethodni->sljedeci;
- tekuci=prethodni->sljedeci;
- }
- } while (indikator==1);
- }
- void ispis(tpacijenti *lista){
- tpacijenti *zadnji;
- zadnji=lista->sljedeci;
- while(zadnji){
- cout<<"Maticni broj je "<<zadnji->pacov.matbr<<endl;
- cout<<"Dob je "<<zadnji->pacov.dob<<endl;
- cout<<"------------------"<<endl;
- zadnji=zadnji->sljedeci;
- }
- }
- void ispisgodine(tpacijenti *lista){
- int brojac=0;
- tpacijenti *zadnji;
- zadnji=lista;
- while(zadnji){
- if (zadnji->pacov.dob<18){
- cout << "Maticni broj: "<<zadnji->pacov.matbr<<endl;
- cout << "Dob: "<<zadnji->pacov.dob<<endl;
- cout << "----------------"<<endl;
- brojac++;
- }
- zadnji=zadnji->sljedeci;
- }
- cout << "Mladih od 18 ima "<<brojac<<endl;
- }
Add Comment
Please, Sign In to add comment