Return to Snippet

Revision: 53915
at December 3, 2011 07:52 by mjurman


Updated Code
#include <iostream>
#include <ctime>
#include "red_pokazivac.h"
//#include "red_polje.h"
using namespace std;
     
red *red_1=new red;
red *red_2=new red;
    
pacijent pac;

int pac_parovi[1000];
int pac_prioritet[1000];
int N=0;
    
int generiranje(){
    cout<<"Za koliko pacijenata zelite generirati slucajne brojeve? : ";
    cin>>N;
    srand((unsigned)time(NULL));
    for (int i=0;i<N;i++){
        pac_parovi[i]=rand()%10000+1;
        pac_parovi[i+N]=rand()%10000+1;
        pac_prioritet[i]=rand()%4+1;
    }
    cout<<endl;
    return 0;
}
     
int ispis(){
    cout<<endl;
    for(int i=0;i<N;i++){
            cout<<"   "<<i+1<<". pacijent--> ";
            cout<<"<xi="<<pac_parovi[i]<<",yi="<<pac_parovi[i+N]<<">"<<", prioritet= "<<pac_prioritet[i]<<endl;
    }
    cout<<endl;
    return 0;
}
     
int simulacija_bez_prioriteta(){
    InitQ(red_1);
    int ceka=0, broj=1, napusta=0, ulaz=0;
    for(int i=0;i<N;i++){
            pac.x=pac_parovi[i];
            pac.y=pac_parovi[i+N];
            EnQueueQ(pac,red_1);
    }
    while(!IsEmptyQ(red_1)){
             pac=FrontQ(red_1);
             cout<<endl<<broj<<". pacijent\n";
             broj++;
             cout<<"---------------------------------\n";
             cout<<"U red je usao nakon: "<<ulaz<<" (jedinica vrem.)\n";
             cout<<"U redu je cekao: "<<ceka<<" (jedinica vrem.)\n";
             ulaz+=pac.x;
             napusta=ceka+pac.y;
             ceka+=pac.y;
             cout<<"U ordinaciji je bio: "<<pac.y<<" (jedinica vrem.)\n";
             cout<<"Kliniku je napustion nakon: "<<napusta<<" (jedninica vrem.)\n";
             cout<<"--------------------------------------\n\n";
             system("pause");
             DeQueueQ(red_1);
    }
}
     
int simulacija_s_prioritetima(){
    InitQ(red_2);
    pacijent trenutno[1000];
    for(int i=0;i<N;i++){
            pac.x=pac_parovi[i];
            pac.y=pac_parovi[i+N];
            pac.pac_prioritet=pac_prioritet[i];
            EnQueueQ(pac,red_2);
    }
    for(int i=0;i<N;i++){
            trenutno[i]=FrontQ(red_2);
            DeQueueQ(red_2);
    }

    for (int i=N; i>1;i--){
        int Max=0;
        for (int j=1;j<i;j++)
            if (trenutno[j].pac_prioritet>trenutno[Max].pac_prioritet) Max=j;
        pacijent pom=trenutno[i-1];
        trenutno[i-1]=trenutno[Max];
        trenutno[Max]=pom;    
    }
       
    for(int i=0;i<N;i++)
        EnQueueQ(trenutno[i],red_2);
    int ceka=0, napusta=0, broj=1, ulaz=0;
    while(!IsEmptyQ(red_2)){
        pac=FrontQ(red_2);
        cout<<"  "<<broj<<". pacijent ---> prioritet ("<<pac.pac_prioritet<<")"<<endl;
        broj++;
        cout<<"----------------------------------"<<endl;
        cout<<"U red je usao nakon: "<<ulaz<<" (jedinica vrem nakon prethodnog)"<<endl;
        cout<<"U redu je cekao: "<<ceka<<" (jedinica vrem.)"<<endl;
        ulaz+=pac.x;
        napusta=ceka+pac.y;
        ceka+=pac.y;
        cout<<"U ordinaciji je bio: "<<pac.y<<" (jedinica vrem.)"<<endl;
        cout<<"Kliniku je napustion nakon: "<<napusta<<" (jedninica vrem.)"<<endl;
        cout<<"-----------------------------------\n\n";
        DeQueueQ(red_2);
        system("pause");
    }
}
     
int main(){
    int izbor;
    do{
         cout<<endl;
         cout<<"                 Izbornik:               "<<endl;
         cout<<"\n---------------------------------------"<<endl;
         cout<<"1. Generiranje parova slucajnih brojeva"<<endl;
         cout<<"2. Ispis pacijenata (s generiranim brojevima i prioritetima)"<<endl;
         cout<<"3. Simuliranje rada lijecnicke ordinacije (bez prioriteta ulazenja)"<<endl;
         cout<<"4. Simulacija rada lijecnicke ordinacije (s prioritetima ulazenja)"<<endl;
         cout<<"9. Izlaz iz programa"<<endl;
         cout<<"Vas izbor: "<<endl;
         cin>>izbor;
         cout<<endl;
         switch(izbor){
              case 1: generiranje(); break;
              case 2: ispis(); break;
              case 3: simulacija_bez_prioriteta(); break;
              case 4: simulacija_s_prioritetima();
         }
    }while(izbor!=9);
    system ("pause");
    return 0;
}

Revision: 53914
at December 3, 2011 06:11 by mjurman


Initial Code
#include <iostream>
#include <ctime>
#include "red_pokazivac.h"
//#include "red_polje.h"
using namespace std;
     
red *red_1=new red;
red *red_2=new red;
    
pacijent pac;

int pac_parovi[1000];
int pac_prioritet[1000];
int N=0;
    
int generiranje(){
    cout<<"Za koliko pacijenata zelite generirati slucajne brojeve? : ";
    cin>>N;
    srand((unsigned)time(NULL));
    for (int i=0;i<N;i++){
        pac_parovi[i]=rand()%10000+1;
        pac_parovi[i+N]=rand()%10000+1;
        pac_prioritet[i]=rand()%4+1;
    }
    cout<<endl;
    return 0;
}
     
int ispis(){
    cout<<endl;
    for(int i=0;i<N;i++){
            cout<<"   "<<i+1<<". pacijent--> ";
            cout<<"<xi="<<pac_parovi[i]<<",yi="<<pac_parovi[i+N]<<">"<<", pac_prioritet= "<<pac_prioritet[i]<<endl;
    }
    cout<<endl;
    return 0;
}
     
int simulacija_bez_prioriteta(){
    InitQ(red_1);
    int ceka=0, broj=1, napusta=0, ulaz=0;
    for(int i=0;i<N;i++){
            pac.x=pac_parovi[i];
            pac.y=pac_parovi[i+N];
            EnQueueQ(pac,red_1);
    }
    while(!IsEmptyQ(red_1)){
             pac=FrontQ(red_1);
             cout<<endl<<broj<<". pacijent\n";
             broj++;
             cout<<"---------------------------------\n";
             cout<<"U red je usao nakon: "<<ulaz<<" (jedinica vrem.)\n";
             cout<<"U redu je cekao: "<<ceka<<" (jedinica vrem.)\n";
             ulaz+=pac.x;
             napusta=ceka+pac.y;
             ceka+=pac.y;
             cout<<"U ordinaciji je bio: "<<pac.y<<" (jedinica vrem.)\n";
             cout<<"Kliniku je napustion nakon: "<<napusta<<" (jedninica vrem.)\n";
             cout<<"--------------------------------------\n\n";
             system("pause");
             DeQueueQ(red_1);
    }
}
     
int simulacija_s_prioritetima(){
    InitQ(red_2);
    pacijent trenutno[1000];
    for(int i=0;i<N;i++){
            pac.x=pac_parovi[i];
            pac.y=pac_parovi[i+N];
            pac.pac_prioritet=pac_prioritet[i];
            EnQueueQ(pac,red_2);
    }
    for(int i=0;i<N;i++){
            trenutno[i]=FrontQ(red_2);
            DeQueueQ(red_2);
    }

    for (int i=N; i>1;i--){
        int Max=0;
        for (int j=1;j<i;j++)
            if (trenutno[j].pac_prioritet>trenutno[Max].pac_prioritet) Max=j;
        pacijent pom=trenutno[i-1];
        trenutno[i-1]=trenutno[Max];
        trenutno[Max]=pom;    
    }
       
    for(int i=0;i<N;i++)
        EnQueueQ(trenutno[i],red_2);
    int ceka=0, napusta=0, broj=1, ulaz=0;
    while(!IsEmptyQ(red_2)){
        pac=FrontQ(red_2);
        cout<<"  "<<broj<<". pacijent ---> pac_prioritet ("<<pac.pac_prioritet<<")"<<endl;
        broj++;
        cout<<"----------------------------------"<<endl;
        cout<<"U red je usao nakon: "<<ulaz<<" (jedinica vrem nakon prethodnog)"<<endl;
        cout<<"U redu je cekao: "<<ceka<<" (jedinica vrem.)"<<endl;
        ulaz+=pac.x;
        napusta=ceka+pac.y;
        ceka+=pac.y;
        cout<<"U ordinaciji je bio: "<<pac.y<<" (jedinica vrem.)"<<endl;
        cout<<"Kliniku je napustion nakon: "<<napusta<<" (jedninica vrem.)"<<endl;
        cout<<"-----------------------------------\n\n";
        DeQueueQ(red_2);
        system("pause");
    }
}
     
int main(){
    int izbor;
    do{
         cout<<endl;
         cout<<"                 Izbornik:               "<<endl;
         cout<<"\n---------------------------------------"<<endl;
         cout<<"1. Generiranje parova slucajnih brojeva"<<endl;
         cout<<"2. Ispis pacijenata (s generiranim brojevima i prioritetima)"<<endl;
         cout<<"3. Simuliranje rada lijecnicke ordinacije (bez prioriteta ulazenja)"<<endl;
         cout<<"4. Simulacija rada lijecnicke ordinacije (s prioritetima ulazenja)"<<endl;
         cout<<"9. Izlaz iz programa"<<endl;
         cout<<"Vas izbor: "<<endl;
         cin>>izbor;
         cout<<endl;
         switch(izbor){
              case 1: generiranje(); break;
              case 2: ispis(); break;
              case 3: simulacija_bez_prioriteta(); break;
              case 4: simulacija_s_prioritetima();
         }
    }while(izbor!=9);
    system ("pause");
    return 0;
}

Initial URL
http://snipplr.com

Initial Description
simulacija rada liječničke ordinacije (main)

Initial Title
zadatak3_strukture_main

Initial Tags
podataka

Initial Language
C++