Форум программистов, компьютерный форум CyberForum.ru

Как работает программа (прокомментировать) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите, пожалуйста, как ввести массив из текстового файла. http://www.cyberforum.ru/cpp-beginners/thread747587.html
Здравствуйте. подскажите пожалуйста как ввести массив из текстового файла. Я написал программу но она в каждый элемент массива вставляет только 1 символ. Как сделать так чтобы каждый элемент массива содержал больше символов? #include <fstream> #include <windows.h> #include <iostream> using namespace std; int main(void) {int n; const int len=81; char *a; char delims=" ";
C++ Дана действительная матрица порядка n. Найти сумму элементов, расположенных в закрашенной части матрицы на рисунке. Дана действительная матрица порядка n. Найти сумму элементов, расположенных в закрашенной части матрицы на рисунке. http://www.cyberforum.ru/cpp-beginners/thread747582.html
Элементы матриц. Найти столбец с минимальным произведением элементов C++
Задана целочисленная матрица порядка NxN. Среди столбцов заданной матрицы, содержащих только такие элементы, которые по модулю не больше заданного натурального n, найти столбец с минимальным произведением элементов. Найти сумму элементов тех строк, в которых находится наибольший элемент матрицы.
C++ Одномерный массив. Вывести на экран все числа, индексы которых есть простые числа.
Нужно вывести на экран все числа заданной последовательности, индексы которых есть простые числа. Определить в заданной последовательности целых чисел количество чисел, которые являются простыми числами.
C++ Функции, операции над двумерными массивами http://www.cyberforum.ru/cpp-beginners/thread747576.html
Задача : Дана матрица разрема NxM. Каждый элемент этой матрицы заменить числом , равным количеству элементов матрицы ,которые не превышают данного элемента.После этого отсортировать каждый столбец получившейся матрицы по убыванию и вывести ее на экран. Наработки: //Подключение стандартной библиотеки #include <stdio.h> //подключение библиотеки, в которой есть функция setlocale #include...
C++ C++ ВисуалСтудио2010. Обьединение файлов в один проект http://pastebin.com/PirzesmS Помогите пожалуйста обьеденить эти файлы в один проэкт. Я сначала написал класс Стэк и одну функцию. Потом написал бинарное дерево. Мне нужно сделать третью функцию, которая будет пользоваться этими двумя маленькими программками, то есть объединить все файлы в один проект. Почему-то, Ctrl+F5 как вспышка всплывает и исчезает, хотя проэкт вроде... подробнее

Показать сообщение отдельно
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
27.12.2012, 05:43     Как работает программа (прокомментировать)
Друзья, прокомментируйте прогу, это алгоритм планирования Round Robin
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include "stdafx.h"
#include "conio.h"
#include "stdlib.h"
#include "locale.h"
#include "iostream"
using namespace std;
 
int globaltime = 0;
int n;
 
class oneprocess
{
    public:
    int stime;
    int burst;
    int history[150];
 
    oneprocess()
    {
        this->burst=0;
        this->stime=0;
    }
 
    oneprocess(int burst,int stime = 0)
    {
        this->stime=stime;
        this->burst=burst;
        for (int i = 0; i<150; i++)
        {
            this->history[i]=0;
        }
    }
    ~oneprocess() {};
 
    void run(int gtime)
    {
        this->burst--;
        this->history[gtime]=2;
    }
 
    void wait(int gtime)
    {
        if ((this->burst>0)&&(this->stime<gtime))
        {this->history[gtime]=1;}
    }
};
 
 
int rr(oneprocess processes[],int gtime)
{
    oneprocess *cur;
    int last;
    last=-1;
 
    for(int k=0;k<n;k++)
    {
        cur=&processes[k];
        if(cur->history[gtime-1]==2)
        {
            last=k;
        }
    }
    for(int i=0;i<n;i++)
    {
        cur=&processes[i];
        if ((cur->burst>0)&&(cur->stime<gtime)&&(last<i))
        {
            return i;
        }
    }
    for(int j=0;j<n;j++)
    {
        cur=&processes[j];
        if ((cur->burst>0)&&(cur->stime<gtime))
        {
            return j;
        }
    }
    return -1;
}
 
void run(int time, oneprocess processes[])
{
    int cur_proc;
    for(int gtime=0;gtime<time;gtime++)
    {
        cur_proc=rr(processes,gtime);
        for(int c=0;c<n;c++)
        {
            if (c==cur_proc)
            {
                processes[c].run(gtime);
            }
            else 
            {
                processes[c].wait(gtime);
            }
        }
    }
}
 
void show_history(oneprocess processes[])
{
    for(int i=0;i<n;i++)
        {
            cout<<"Процесс "<<i+1<<"  ";
            for(int j=2;j<30;j++)
            {
                cout<<processes[i].history[j];
            }
            cout<<endl;
        }
}
 
int main()
{
    n=3;
    oneprocess procs[3];
    setlocale(LC_ALL, "rus");
    for(int i=0;i<n;i++)
    {
            int boost, starttime;
            cout << "Введите значение "<<i+1<<" процесса:"<<endl;
            cout << "CPU burst:";
            cin >> boost;
            cout << "Начальное время:";
            cin >> starttime;
            cout<<endl;
            oneprocess np(boost,starttime);
            procs[i]=np;
    }
        cout<<endl;
    run(30,procs);
    cout<<"Результаты: "<<endl;
    show_history(procs);
    cout<<endl;
    system("pause");
    _getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru