Revision: 53918
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 3, 2011 06:22 by bagrancar
Initial Code
#include <cstdlib>
#include <iostream>
#include <ctime>
#include "biblioteka_pokazivac.h"
#include "biblioteka_vrijeme.h"
//#include "biblioteka_polje.h"
using namespace std;
int n;
void generiranje(r *musterije){
srand(time(0));
cout<<"Unesite zeljeni broj parova za generiranje? (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,musterije);
}
};
void ispis(r *musterije){
vrijeme_pocetak();
cout<<"musterije"<<endl;
cout<<"-----------------------------------"<<endl;
tpopis tekuci;
if(isemptyq(musterije)) cout<<"Red je prazan!"<<endl;
while(!isemptyq(musterije)){
tekuci=frontq(musterije);
dequeueq(musterije);
cout<<"musterija broj: "<<tekuci.rb<<endl;
cout<<"Cekati cete "<<tekuci.x<<" minuta."<<endl;
cout<<"U ordinaciji ste "<<tekuci.y<<" minuta."<<endl;
cout<<"Prednost ima: "<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme izvodjenja: "<<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 promjena(r *musterije){
vrijeme_pocetak();
tpopis ordinacija[10000];
int brojac=0;
while(!isemptyq(musterije)){
ordinacija[brojac]=frontq(musterije);
brojac++;
dequeueq(musterije);}
//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],musterije);
cout<<"musterije:"<<endl;
cout<<"-----------------------------------"<<endl;
tpopis tekuci;
if(isemptyq(musterije)) cout<<"Red je prazan!"<<endl;
while(!isemptyq(musterije)){
tekuci=frontq(musterije);
dequeueq(musterije);
cout<<"musterija broj: "<<tekuci.rb<<endl;
cout<<"vrijeme cekanja je "<<tekuci.x<<" minuta."<<endl;
cout<<"U ordinaciji ste "<<tekuci.y<<" minuta."<<endl;
cout<<"Prednost je dodjeljena: "<<tekuci.p<<endl;
cout<<"-----------------------------------"<<endl;
}
vrijeme_kraj();
cout<<"Vrijeme proteklo: "<<vrijeme_proteklo()/1000<<endl;
nula(ordinacija);
}
int main(int argc, char *argv[])
{
int izbor;
r *musterije;
musterije=new r;
initq(musterije);
do{
cout<<"1. Generiranje musterija"<<endl;
cout<<"2. Simulacija"<<endl;
cout<<"3. promjena"<<endl;
cout<<"4. Kraj programa"<<endl;
cin>>izbor;
switch(izbor){
case 1: generiranje(musterije); break;
case 2: ispis(musterije);break;
case 3: promjena(musterije);break;
case 4: return 0;
default: break;
}}
while(1);
system("pause");
return 0;
}
Initial URL
www.snipplr.com/strukture_glavni
Initial Description
Strukture podataka glavni program.
Initial Title
Struktrure_podataka_glavni_program
Initial Tags
Initial Language
C++