Revision: 53778
Updated Code
at December 2, 2011 21:22 by fkocijan
Updated Code
#include <cstdlib>
#include <iostream>
#include <ctime>
#include "biblioteka_vrijeme.cc"
#include "red_pokazivaci.h"
//#include "red_polje.h"
using namespace std;
int n;
void generiranje(r *pacijenti){
srand(time(0));
cout<<"Koliko parova zelite generirati? (1-10000)"<<endl;
cin>>n;
tpopis novi;
for(int i=0;i<n;i++){
novi.rb=i+1;
novi.x=((rand()%10001)/1000)+1;
novi.y=((rand()%10001)/1000)+1;
novi.p=(rand()%4)+1;
enqueueq(novi,pacijenti);
}
};
void ispis(r *pacijenti){
vrijeme_pocetak();
cout<<"Ispis svih pacijenata"<<endl;
tpopis tekuci;
if(isemptyq(pacijenti)) cout<<"red je prazan"<<endl;
while(!isemptyq(pacijenti)){
tekuci=frontq(pacijenti);
dequeueq(pacijenti);
cout<<"pacijent br....."<<tekuci.rb<<endl;
cout<<"cekanje:........"<<tekuci.x<<" min"<<endl;
cout<<"u ordinaciji:..."<<tekuci.y<<" min"<<endl;
cout<<"prioritet:......"<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvodenja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl;
};
void nula(tpopis *polje){
for(int i=0;i<n;i++){
polje[i].rb=0;
polje[i].x=0;
polje[i].y=0;
polje[i].p=0;
}
n=0;
}
void modifikacija(r *pacijenti){
vrijeme_pocetak();
tpopis ordinacija[10000];
int brojac=0;
while(!isemptyq(pacijenti)){
ordinacija[brojac]=frontq(pacijenti);
brojac++;
dequeueq(pacijenti);}
//sortiranje bubble sort
bool zamjena=true;
for(int i=n-1;i>0&&zamjena; i--){
zamjena=false;
for(int j=0;j<i;j++){
if(ordinacija[j].p<ordinacija[j+1].p){
tpopis pom=ordinacija[j];
ordinacija[j]=ordinacija[j+1];
ordinacija[j+1]=pom;
zamjena=true;
}
if(ordinacija[j].p==ordinacija[j+1].p){
if(ordinacija[j].x<ordinacija[j+1].x){
tpopis pom=ordinacija[j];
ordinacija[j]=ordinacija[j+1];
ordinacija[j+1]=pom;
zamjena=true;
}
}
}
}
for(int i=0;i<n;i++) enqueueq(ordinacija[i],pacijenti);
cout<<"Ispis svih pacijenata"<<endl;
tpopis tekuci;
if(isemptyq(pacijenti)) cout<<"red je prazan"<<endl;
while(!isemptyq(pacijenti)){
tekuci=frontq(pacijenti);
dequeueq(pacijenti);
cout<<"pacijent br....."<<tekuci.rb<<endl;
cout<<"cekanje:........"<<tekuci.x<<" min"<<endl;
cout<<"u ordinaciji:..."<<tekuci.y<<" min"<<endl;
cout<<"prioritet:......"<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvodenja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl;
nula(ordinacija);
}
int main(int argc, char *argv[])
{
int izbor;
r *pacijenti;
pacijenti=new r;
initq(pacijenti);
do{
cout<<"Odaberite: "<<endl;
cout<<"1 za generiranje pacijenata"<<endl;
cout<<"2 za simulaciju"<<endl;
cout<<"3 za modifikaciju"<<endl;
cout<<"9 za kraj programa"<<endl;
cin>>izbor;
switch(izbor){
case 1: generiranje(pacijenti); break;
case 2: ispis(pacijenti);break;
case 3: modifikacija(pacijenti);break;
case 9: return 0;
default: break;
}}
while(1);
system("PAUSE");
return EXIT_SUCCESS;
}
Revision: 53777
Updated Code
at December 2, 2011 19:37 by fkocijan
Updated Code
#include <cstdlib>
#include <iostream>
#include <ctime>
#include "red_pokazivac.h"
#include "b_vrijeme.h"
//#include "red_polje.h"
using namespace std;
int n;
void generiranje(r *pacijenti){
srand(time(0));
cout<<"Koliko parova zelite generirati? (1-10000)"<<endl;
cin>>n;
tpopis novi;
for(int i=0;i<n;i++){
novi.rb=i+1;
novi.x=((rand()%10001)/1000)+1;
novi.y=((rand()%10001)/1000)+1;
novi.p=(rand()%4)+1;
enqueueq(novi,pacijenti);
}
};
void ispis(r *pacijenti){
vrijeme_pocetak();
cout<<"Ispis svih pacijenata"<<endl;
tpopis tekuci;
if(isemptyq(pacijenti)) cout<<"red je prazan"<<endl;
while(!isemptyq(pacijenti)){
tekuci=frontq(pacijenti);
dequeueq(pacijenti);
cout<<"pacijent br....."<<tekuci.rb<<endl;
cout<<"cekanje:........"<<tekuci.x<<" min"<<endl;
cout<<"u ordinaciji:..."<<tekuci.y<<" min"<<endl;
cout<<"prioritet:......"<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvodenja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl;
};
void nula(tpopis *polje){
for(int i=0;i<n;i++){
polje[i].rb=0;
polje[i].x=0;
polje[i].y=0;
polje[i].p=0;
}
n=0;
}
void modifikacija(r *pacijenti){
vrijeme_pocetak();
tpopis ordinacija[10000];
int brojac=0;
while(!isemptyq(pacijenti)){
ordinacija[brojac]=frontq(pacijenti);
brojac++;
dequeueq(pacijenti);}
//sortiranje bubble sort
bool zamjena=true;
for(int i=n-1;i>0&&zamjena; i--){
zamjena=false;
for(int j=0;j<i;j++){
if(ordinacija[j].p<ordinacija[j+1].p){
tpopis pom=ordinacija[j];
ordinacija[j]=ordinacija[j+1];
ordinacija[j+1]=pom;
zamjena=true;
}
if(ordinacija[j].p==ordinacija[j+1].p){
if(ordinacija[j].x<ordinacija[j+1].x){
tpopis pom=ordinacija[j];
ordinacija[j]=ordinacija[j+1];
ordinacija[j+1]=pom;
zamjena=true;
}
}
}
}
for(int i=0;i<n;i++) enqueueq(ordinacija[i],pacijenti);
cout<<"Ispis svih pacijenata"<<endl;
tpopis tekuci;
if(isemptyq(pacijenti)) cout<<"red je prazan"<<endl;
while(!isemptyq(pacijenti)){
tekuci=frontq(pacijenti);
dequeueq(pacijenti);
cout<<"pacijent br....."<<tekuci.rb<<endl;
cout<<"cekanje:........"<<tekuci.x<<" min"<<endl;
cout<<"u ordinaciji:..."<<tekuci.y<<" min"<<endl;
cout<<"prioritet:......"<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvodenja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl;
nula(ordinacija);
}
int main(int argc, char *argv[])
{
int izbor;
r *pacijenti;
pacijenti=new r;
initq(pacijenti);
do{
cout<<"Odaberite: "<<endl;
cout<<"1 za generiranje pacijenata"<<endl;
cout<<"2 za simulaciju"<<endl;
cout<<"3 za modifikaciju"<<endl;
cout<<"9 za kraj programa"<<endl;
cin>>izbor;
switch(izbor){
case 1: generiranje(pacijenti); break;
case 2: ispis(pacijenti);break;
case 3: modifikacija(pacijenti);break;
case 9: return 0;
default: break;
}}
while(1);
system("PAUSE");
return EXIT_SUCCESS;
}
Revision: 53776
Updated Code
at December 2, 2011 19:34 by fkocijan
Updated Code
#include <cstdlib>
#include <iostream>
#include <ctime>
#include "red_pokazivac.h"
#include "b_vrijeme.h"
//#include "red_polje.h"
using namespace std;
int n;
void generiranje(r *pacijenti){
srand(time(0));
cout<<"Koliko parova želite generirati? (1-10000)"<<endl;
cin>>n;
tpopis novi;
for(int i=0;i<n;i++){
novi.rb=i+1;
novi.x=((rand()%10001)/1000)+1;
novi.y=((rand()%10001)/1000)+1;
novi.p=(rand()%4)+1;
enqueueq(novi,pacijenti);
}
};
void ispis(r *pacijenti){
vrijeme_pocetak();
cout<<"Ispis svih pacijenata"<<endl;
tpopis tekuci;
if(isemptyq(pacijenti)) cout<<"red je prazan"<<endl;
while(!isemptyq(pacijenti)){
tekuci=frontq(pacijenti);
dequeueq(pacijenti);
cout<<"pacijent br....."<<tekuci.rb<<endl;
cout<<"cekanje:........"<<tekuci.x<<" min"<<endl;
cout<<"u ordinaciji:..."<<tekuci.y<<" min"<<endl;
cout<<"prioritet:......"<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvo�enja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl;
};
void nula(tpopis *polje){
for(int i=0;i<n;i++){
polje[i].rb=0;
polje[i].x=0;
polje[i].y=0;
polje[i].p=0;
}
n=0;
}
void modifikacija(r *pacijenti){
vrijeme_pocetak();
tpopis ordinacija[10000];
int brojac=0;
while(!isemptyq(pacijenti)){
ordinacija[brojac]=frontq(pacijenti);
brojac++;
dequeueq(pacijenti);}
//sortiranje bubble sort
bool zamjena=true;
for(int i=n-1;i>0&&zamjena; i--){
zamjena=false;
for(int j=0;j<i;j++){
if(ordinacija[j].p<ordinacija[j+1].p){
tpopis pom=ordinacija[j];
ordinacija[j]=ordinacija[j+1];
ordinacija[j+1]=pom;
zamjena=true;
}
if(ordinacija[j].p==ordinacija[j+1].p){
if(ordinacija[j].x<ordinacija[j+1].x){
tpopis pom=ordinacija[j];
ordinacija[j]=ordinacija[j+1];
ordinacija[j+1]=pom;
zamjena=true;
}
}
}
}
for(int i=0;i<n;i++) enqueueq(ordinacija[i],pacijenti);
cout<<"Ispis svih pacijenata"<<endl;
tpopis tekuci;
if(isemptyq(pacijenti)) cout<<"red je prazan"<<endl;
while(!isemptyq(pacijenti)){
tekuci=frontq(pacijenti);
dequeueq(pacijenti);
cout<<"pacijent br....."<<tekuci.rb<<endl;
cout<<"cekanje:........"<<tekuci.x<<" min"<<endl;
cout<<"u ordinaciji:..."<<tekuci.y<<" min"<<endl;
cout<<"prioritet:......"<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvo�enja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl;
nula(ordinacija);
}
int main(int argc, char *argv[])
{
int izbor;
r *pacijenti;
pacijenti=new r;
initq(pacijenti);
do{
cout<<"Odaberite: "<<endl;
cout<<"1 za generiranje pacijenata"<<endl;
cout<<"2 za simulaciju"<<endl;
cout<<"3 za modifikaciju"<<endl;
cout<<"9 za kraj programa"<<endl;
cin>>izbor;
switch(izbor){
case 1: generiranje(pacijenti); break;
case 2: ispis(pacijenti);break;
case 3: modifikacija(pacijenti);break;
case 9: return 0;
default: break;
}}
while(1);
system("PAUSE");
return EXIT_SUCCESS;
}
Revision: 53775
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 2, 2011 19:33 by fkocijan
Initial Code
#include <cstdlib>
#include <iostream>
#include <ctime>
#include "red_pokazivac.h"
#include "b_vrijeme.h"
//#include "red_polje.h"
using namespace std;
int n;
void generiranje(r *pacijenti){
srand(time(0));
cout<<"Koliko parova želite generirati? (1-10000)"<<endl;
cin>>n;
tpopis novi;
for(int i=0;i<n;i++){
novi.rb=i+1;
novi.x=((rand()%10001)/1000)+1;
novi.y=((rand()%10001)/1000)+1;
novi.p=(rand()%4)+1;
enqueueq(novi,pacijenti);
}
};
void ispis(r *pacijenti){
vrijeme_pocetak();
cout<<"Ispis svih pacijenata"<<endl;
tpopis tekuci;
if(isemptyq(pacijenti)) cout<<"red je prazan"<<endl;
while(!isemptyq(pacijenti)){
tekuci=frontq(pacijenti);
dequeueq(pacijenti);
cout<<"pacijent br....."<<tekuci.rb<<endl;
cout<<"cekanje:........"<<tekuci.x<<" min"<<endl;
cout<<"u ordinaciji:..."<<tekuci.y<<" min"<<endl;
cout<<"prioritet:......"<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvođenja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl;
};
void nula(tpopis *polje){
for(int i=0;i<n;i++){
polje[i].rb=0;
polje[i].x=0;
polje[i].y=0;
polje[i].p=0;
}
n=0;
}
void modifikacija(r *pacijenti){
vrijeme_pocetak();
tpopis ordinacija[10000];
int brojac=0;
while(!isemptyq(pacijenti)){
ordinacija[brojac]=frontq(pacijenti);
brojac++;
dequeueq(pacijenti);}
//sortiranje bubble sort
bool zamjena=true;
for(int i=n-1;i>0&&zamjena; i--){
zamjena=false;
for(int j=0;j<i;j++){
if(ordinacija[j].p<ordinacija[j+1].p){
tpopis pom=ordinacija[j];
ordinacija[j]=ordinacija[j+1];
ordinacija[j+1]=pom;
zamjena=true;
}
if(ordinacija[j].p==ordinacija[j+1].p){
if(ordinacija[j].x<ordinacija[j+1].x){
tpopis pom=ordinacija[j];
ordinacija[j]=ordinacija[j+1];
ordinacija[j+1]=pom;
zamjena=true;
}
}
}
}
for(int i=0;i<n;i++) enqueueq(ordinacija[i],pacijenti);
cout<<"Ispis svih pacijenata"<<endl;
tpopis tekuci;
if(isemptyq(pacijenti)) cout<<"red je prazan"<<endl;
while(!isemptyq(pacijenti)){
tekuci=frontq(pacijenti);
dequeueq(pacijenti);
cout<<"pacijent br....."<<tekuci.rb<<endl;
cout<<"cekanje:........"<<tekuci.x<<" min"<<endl;
cout<<"u ordinaciji:..."<<tekuci.y<<" min"<<endl;
cout<<"prioritet:......"<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvođenja funkcije u sekundama: "<<vrijeme_proteklo()/1000<<endl;
nula(ordinacija);
}
int main(int argc, char *argv[])
{
int izbor;
r *pacijenti;
pacijenti=new r;
initq(pacijenti);
do{
cout<<"Odaberite: "<<endl;
cout<<"1 za generiranje pacijenata"<<endl;
cout<<"2 za simulaciju"<<endl;
cout<<"3 za modifikaciju"<<endl;
cout<<"9 za kraj programa"<<endl;
cin>>izbor;
switch(izbor){
case 1: generiranje(pacijenti); break;
case 2: ispis(pacijenti);break;
case 3: modifikacija(pacijenti);break;
case 9: return 0;
default: break;
}}
while(1);
system("PAUSE");
return EXIT_SUCCESS;
}
Initial URL
Initial Description
Glavni kod programa iz strukturi podataka zadatak 3, simulacija ljecnicke ordinacija, napravljen pomocu dvije implementacije
Initial Title
Glavni program zadatk 3_SP
Initial Tags
Initial Language
C++