Revision: 35012
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 1, 2010 05:53 by alepk
Initial Code
#include <iostream> using namespace std; struct pacijent{ int matbr; int dob; char preime[30]; char povijest[200];}; struct tpacijenti{ pacijent lovro; 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==1 || p==0)cout<<"Ne postoji element!"<<endl; else{ while(zadnji->sljedeci){ prethodni=zadnji; zadnji=zadnji->sljedeci; prethodni->sljedeci=zadnji; brojac++; if(brojac==p){ return prethodni->sljedeci;}}}} tpacijenti *LocateL(int A, tpacijenti *lista){ tpacijenti *zadnji; zadnji=lista; int brojac=1; while(zadnji->sljedeci){ if(A==brojac) return zadnji->sljedeci; zadnji=zadnji->sljedeci; brojac++; } return EndL(lista);} void Insert(pacijent x, tpacijenti *lista){ tpacijenti *zadnji, *novi; zadnji=lista; while(zadnji->sljedeci) zadnji=zadnji->sljedeci; novi=new tpacijenti; novi->lovro=x; zadnji->sljedeci=novi; novi->sljedeci=NULL;} void Delete(tpacijenti *lista, int matbr){ tpacijenti *brisi=lista->sljedeci; tpacijenti *prethodni=lista; bool brisao = false; while(brisi){ if(brisi->lovro.matbr==matbr){ prethodni->sljedeci=brisi->sljedeci; delete brisi; brisao=true; cout << "Pacijent je izbrisan iz evidencije!" << endl; break;} prethodni=brisi; brisi=brisi->sljedeci;} if(!brisao){cout << "Nepostojeci pacijent!" << endl;} } int sort(tpacijenti *lista){ tpacijenti *prethodni,*tekuci,*sljedeci; int brojac=0; int indikator; do{ indikator = 0; tekuci=lista->sljedeci; prethodni=lista; if(lista->sljedeci==NULL) {cout << "Lista je prazna!" << endl; return 0;} while (tekuci->sljedeci){ sljedeci=tekuci->sljedeci; if (tekuci->lovro.matbr > sljedeci->lovro.matbr){ prethodni->sljedeci=sljedeci; tekuci->sljedeci=sljedeci->sljedeci; sljedeci->sljedeci=tekuci; indikator=1; } prethodni=prethodni->sljedeci; tekuci=prethodni->sljedeci; } } while (indikator==1); return 1;} int ispis(tpacijenti *lista){ tpacijenti *zadnji; zadnji=lista->sljedeci; if(lista->sljedeci==NULL) {cout << "" << endl; return 0;} cout << "Sortirano prema maticnom broju uzlazno: " << endl; cout << "----------------------------------------" << endl; while(zadnji){ cout<<"Maticni broj: "<<zadnji->lovro.matbr<<endl; cout<<"Ime i prezime: "<<zadnji->lovro.preime<<endl; cout<<"Dob: "<<zadnji->lovro.dob<<endl; cout<<"Povijest bolesti: " << zadnji->lovro.povijest << endl; cout<<"-----------------------------------------"<<endl; zadnji=zadnji->sljedeci;} return 1;} void mladji(tpacijenti *lista){ int brojac=0; tpacijenti *zadnji; zadnji=lista; while(zadnji){ if (zadnji->lovro.dob<18){ cout << "Maticni broj: "<<zadnji->lovro.matbr<<endl; cout << "Ime i prezime: "<<zadnji->lovro.preime<< endl; cout << "Dob: "<<zadnji->lovro.dob<<endl; cout << "Povijest bolesti: " <<zadnji->lovro.povijest << endl; cout << "----------------"<<endl; brojac++; } zadnji=zadnji->sljedeci;} cout << "U evidenciji se nalazi "<<brojac<< " mladjih od 18 godina." << endl;}
Initial URL
Initial Description
Biblioteka - implementacija liste pomoću pokazivaca
Initial Title
biblioteka_pokazivaci_alpek
Initial Tags
Initial Language
C++