Return to Snippet

Revision: 53778
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
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
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
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++