Релизация Программы С++ В Pascal

Тема в разделе "Другие", создана пользователем Дарья94, 12 апр 2013.

  1. Дарья94

    Дарья94 New Member

    Регистрация:
    12 апр 2013
    Сообщения:
    1
    Симпатии:
    0
    Код (C++):
    #include<istream>
    #include<iostream>
    using namespace std;

    void main()
    {
    setlocale(LC_ALL, "Russian");
    char osmass[4][30];
    int vremPr[4]={0,0,0,0};
    int tipOS,kolich,a,sum;
    int porydok[4]={1,2,3,4}, prior[5]= {0,0,0,0,-100};
    for(int i=0,n=0;i<4;i++,n=0)
    {
    for(;n<30;n++)
    {
    osmass[i][n]='_';
    }

    }

    do{
    cout<<"Выберите тип ОС \n"<<"1 - Последовательное выполнение процессов \n"<<"2 - Паралельное выполнение\n";
    cin>>tipOS;
    if(tipOS!=1 && tipOS!=2){cout<<"Вы ввели неправильное значение!!!\n";}else{break;}
    }while(2);
    do{
    cout<<"Задайте колли чество прецессов (не более 4)\n";
    cin>>kolich;
    if(kolich<1 || kolich>4){cout<<"Введено не правильное значение\n";}
    else{break;}
    }while (2);
    do{
    cout<<"Укажите время выполнения каждого процесса(в сумме не более 30)\n";
    for(int i=1;i<=kolich;i++)
    {
    cout<<"Процесс  "<<i<<endl;
    cin>>vremPr[i-1];
    cout<<endl;

    }
    sum=vremPr[0]+vremPr[1]+vremPr[2]+vremPr[3];
    if(sum>30){cout<<"Сумма больше 30\n";}else{break;}
    }while(2);
    do{
    cout<<"Указать приоритеты выполнения процессов? 1 - да / 2 - нет\n";
    cin>>a;
    if(a==1 || a==2){break;}else{cout<<"Введено не правильное значение\n";}
    }while(2);
    if(a==1)
    {
    cout<<"Задайте приоритеты выполнения \n";
    for(int i=1;i<=kolich;i++)
    {
    cout<<"Процесс "<<i<<endl;
    cin>>prior[i-1];
    cout<<endl;
    }
    }



    int zap[4]={0,0,0,0};
    for(int i=0,n=0;i<kolich;i++,n=0)
    {
    for(;n<kolich-1;n++)
    {
    if(prior[n]<prior[n+1])
    {
    int prom=prior[n];
    prior[n]=prior[n+1];
    prior[n+1]=prom;
    prom=porydok[n];
    porydok[n]=porydok[n+1];
    porydok[n+1]=prom;
    }
    }
    }




    switch (tipOS)
    {


    case 1:
    for(int i=0,n=0,e=0;i<kolich;i++,n=0)
    {
    for(;n<vremPr[porydok[i]-1];n++,e++)
    {
    osmass[porydok[i]-1][e]='/';
    }
    }

    cout<<"      ";
    for(int n=0;n<sum;n++)
    {
    cout<<n+1<<" ";
    }
    cout<<endl;
    for(int i=0,n=0;i<kolich;i++,n=0)
    {
    cout<<"Процесс "<<i+1<<" ";
    for(;n<sum;n++)
    {
    if(n+1>9)
    {
    cout<<osmass[i][n]<<" ";
    }
    else{
    cout<<osmass[i][n]<<" ";
    }
    }
    cout<<endl;
    }break;



    case 2:


    for(int i=0,n=0,e=0;e<sum;i++)
    {
    if(i>kolich-1){i=0;}



    if(prior[i]>prior[i+1] && prior[i]!=prior[i-1])
    {
    for(int eh=0;eh<vremPr[porydok[i]-1];n++,e++,eh++)
    {
    if(zap[porydok[i]-1]==vremPr[porydok[i]-1]){break;}
    osmass[porydok[i]-1][n]='/';
    zap[porydok[i]-1]++;
    }

    }else
    {

    for(int t=0;t<2;t++,n++,e++)
    {


    if(e==sum){break;}
    do{

    if(zap[porydok[i]-1]==vremPr[porydok[i]-1]){i++;t=0;}
    if(i>kolich-1){i=0;}
    }while (zap[porydok[i]-1]==vremPr[porydok[i]-1]);



    osmass[porydok[i]-1][n]='/';
    zap[porydok[i]-1]++;
    }

    }
    }




    cout<<"      ";
    for(int n=0;n<sum;n++)
    {
    cout<<n+1<<" ";
    }
    cout<<endl;
    for(int i=0,n=0;i<kolich;i++,n=0)
    {
    cout<<"Процесс "<<i+1<<" ";
    for(;n<sum;n++)
    {
    if(n+1>9)
    {
    cout<<osmass[i][n]<<" ";
    }
    else{
    cout<<osmass[i][n]<<" ";
    }
    }
    cout<<endl;
    }
    break;


    }
    }
     
Загрузка...

Поделиться этой страницей