Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ Как можно реализовать эту 24 задачу ЕГЭ по информатике? https://www.cyberforum.ru/ c-cpp/ thread3071287.html
Текстовый файл содержит только буквы A, C, D, F, O. Определите длину самой длинной цепочки символов, которая начинается и заканчивается буквой D, а между двумя последовательными буквами D содержит не более двух букв O и произвольное количество других букв.
Оставить в списке L только первые вхождения одинаковых элементов C/C++
Добрый вечер, прошу помочь, так как не понимаю почему не работает удаление одинаковых символов в функции void remove_duplicates(int n), вроде как должно работать, но он даже в иф не хочет заходить даже если все символы будут одинаковые. #include <iostream> #include <algorithm> template <typename T> struct Node // узел или нода. Список это сеть узлов, по которому мы гуляем, когда работаем...
C/C++ Метод класса не видит поле этого же класса Создал класс, метод не видит публичкую переменную, обьявленную в этом же классе. class Speaker { public: Speaker(string Path) { https://www.cyberforum.ru/ c-cpp/ thread3070352.html C/C++ Как построчно вывести текст из документа? https://www.cyberforum.ru/ c-cpp/ thread3070265.html
Не просто построчно, а так, чтобы при каждом вызове функции, она возвращала следующую строку. Я знаю про while(getline()) - но это работает только в функции main(), в других, оно каждый раз бцдет сбрасываться, и начинать возвращать одно и то же. Как это реализоать? Я вообще без понятия уже...
Компоновка элементов методом ветвей и границ C/C++
Необходимо написать программу на С++ для курсовой. Моя тема курсовой: Компоновка элементов схем элементов функционально-логической схемы по конструктивным модулям СБИС на основе метода ветвей и границ. Текста много. Как я понимаю можно написать просто программу в которую вводят матрицу связей элементов на схеме и она решает задачу методом ветвей и границ в итоге выводя наилучшую...
C/C++ Нужен просто алгоритм https://www.cyberforum.ru/ c-cpp/ thread3068357.html
Здравствуйте, нужно придумать алгоритм чтобы получить из числа 1100 - число 46961.
C/C++ FFmpeg - нужна консультация, как я могу узнать что кадр был прочитан? FFmpeg - читаю с ip камеры данные. Пока не могу обидится в том что они действительно читаются. Заметил что в строке №198 вылетает с кодом (минус) цыфра рэндомная. #include <Windows.h> #include <iostream> #include <cstdio> https://www.cyberforum.ru/ c-cpp/ thread3067828.html Перевести на с функцию с питона C/C++
всего 4 строчки, ну первая и последняя понятны, а вот 2 средние это какой то взрыв мозга для меня. def _decode(x): scrambled = ((x & 0xf000f000) >> 12, (x & 0x0f000f00) >> 8, (x & 0x00f000f0) >> 4, (x & 0x000f000f)) decoded = tuple(decode for i, v in enumerate(scrambled)) unscrambled = tuple(((i >> 4) << 16) | (i & 15) for i in decoded) return (unscrambled << 12) | (unscrambled << 8) |...
C/C++ Вывести несколько раз строки матрицы К примеру дана матрица, в которой есть значения 4 12 3 8 9 1 6 2 7 Подскажите, как можно вывести каждую строчку N раз, то есть, к примеру 4 12 3 https://www.cyberforum.ru/ c-cpp/ thread3067080.html C/C++ Рендер в консоли из проекта Adobe Premiere Pro Здравствуйте, стоит такая задача. Необходимо осуществить рендер готового проекта в программе Adobe Premiere Pro, но не запускать сам Premiere, то-есть сделать это без gui, чисто в консоли. Весь интернет прошерстил, ничего стоящего не нашел. https://www.cyberforum.ru/ c-cpp/ thread3066408.html
C/C++ Написание програмы на С++, работа с передачей параметра
1. Первое задание: Внести изменения в этот проект и протестировать проект согласно выбранному варианту. Условия варианта:Разработать метод "Сравнить год двух дат". Вторую дату передать как параметр по значению. Вот начальный код: #include <iostream> #include <conio.h> using std::cout; using std::endl; class date{
C/C++ Инструментарий для создания сайтов ANSI C - самый "шустрый" и уступает по скорости только assembler, который жостко "привязывает" к конкретному "железу". С++ совсем чуть-чуть уступает ANSI C, но зато существенно расширяет возможности. Эти языки - универсальные, в чём их преимущество и, одновременно, и недостаток. Так всегда - в чем-то выигрываешь, а в чём-то проигрываешь! Так вот С/С++ не ориентирован на создание сайтов, в отличие... https://www.cyberforum.ru/ c-cpp/ thread3064464.html
1 / 1 / 0
Регистрация: 08.03.2020
Сообщений: 26
0

Алгоритмы Clock и Aging - C/C++ - Ответ 16703461

19.01.2023, 07:31. Показов 929. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Мне необходимо реализовать фрагмент диспетчера памяти и часть функционала операционной системы, отвечающего за замещение страниц при возникновении ошибок отсутствия страниц. Алгоритмы Clock и Aging.
Входные данные
Кликните здесь для просмотра всего текста
1 10
1 30
1 4
0 27
0 15
0 19
0 14
1 43
0 24
0 18
0 5
0 30
0 10
0 2
1 4
0 34
0 7
0 14
0 55
0 28
0 28
0 40
0 8
1 44
0 49
0 1
0 21
1 8
0 0
0 1
0 54
1 35
0 15
0 27
0 21
0 0
0 46
1 24
0 25
0 8
0 3
0 38
1 8
0 40
0 22
1 17
0 36
0 44
0 31
0 42
0 4
1 44
0 38
0 11
0 6
1 7
0 5
0 6
0 10
0 42

состоят из перечня инструкций обращения к памяти, считываемый программой из стандартного потока ввода. На каждой строке не более одной инструкции. Инструкция состоит из двух чисел, разделенных пробелом, например: 0 1. Первое число обозначает тип операции доступа к памяти: 0 - чтение и 1 - запись. Второе число является номером виртуальной страницы, к которой происходит обращение.
При реализации алгоритма Clock необходимо выдать:
Кликните здесь для просмотра всего текста
10 # # # # # # # # #
10 30 # # # # # # # #
10 30 4 # # # # # # #
10 30 4 27 # # # # # #
10 30 4 27 15 # # # # #
10 30 4 27 15 19 # # # #
10 30 4 27 15 19 14 # # #
10 30 4 27 15 19 14 43 # #
10 30 4 27 15 19 14 43 24 #
10 30 4 27 15 19 14 43 24 18
5 30 4 27 15 19 14 43 24 18
5 30 4 27 15 19 14 43 24 18
5 30 10 27 15 19 14 43 24 18
5 30 10 2 15 19 14 43 24 18
5 30 10 2 4 19 14 43 24 18
5 30 10 2 4 34 14 43 24 18
5 30 10 2 4 34 7 43 24 18
5 30 10 2 4 34 7 14 24 18
5 30 10 2 4 34 7 14 55 18
5 30 10 2 4 34 7 14 55 28
5 30 10 2 4 34 7 14 55 28
40 30 10 2 4 34 7 14 55 28
40 8 10 2 4 34 7 14 55 28
40 8 44 2 4 34 7 14 55 28
40 8 44 49 4 34 7 14 55 28
40 8 44 49 1 34 7 14 55 28
40 8 44 49 1 21 7 14 55 28
40 8 44 49 1 21 7 14 55 28
40 8 44 49 1 21 0 14 55 28
40 8 44 49 1 21 0 14 55 28
40 8 44 49 1 21 0 54 55 28
40 8 44 49 1 21 0 54 35 28
40 8 44 49 1 21 0 54 35 15
27 8 44 49 1 21 0 54 35 15
27 8 44 49 1 21 0 54 35 15
27 8 44 49 1 21 0 54 35 15
27 46 44 49 1 21 0 54 35 15
27 46 24 49 1 21 0 54 35 15
27 46 24 25 1 21 0 54 35 15
27 46 24 25 8 21 0 54 35 15
27 46 24 25 8 3 0 54 35 15
27 46 24 25 8 3 38 54 35 15
27 46 24 25 8 3 38 54 35 15
27 46 24 25 8 3 38 40 35 15
27 46 24 25 8 3 38 40 22 15
27 46 24 25 8 3 38 40 22 17
36 46 24 25 8 3 38 40 22 17
36 44 24 25 8 3 38 40 22 17
36 44 31 25 8 3 38 40 22 17
36 44 31 42 8 3 38 40 22 17
36 44 31 42 4 3 38 40 22 17
36 44 31 42 4 3 38 40 22 17
36 44 31 42 4 3 38 40 22 17
36 44 31 42 4 11 38 40 22 17
36 44 31 42 4 11 38 6 22 17
36 44 31 42 4 11 38 6 7 17
36 44 31 42 4 11 38 6 7 5
36 44 31 42 4 11 38 6 7 5
10 44 31 42 4 11 38 6 7 5
10 44 31 42 4 11 38 6 7 5


При реализации алгоритма Aging нужно выдать:
Кликните здесь для просмотра всего текста
10 # # # # # # # # #
10 30 # # # # # # # #
10 30 4 # # # # # # #
10 30 4 27 # # # # # #
10 30 4 27 15 # # # # #
10 30 4 27 15 19 # # # #
10 30 4 27 15 19 14 # # #
10 30 4 27 15 19 14 43 # #
10 30 4 27 15 19 14 43 24 #
10 30 4 27 15 19 14 43 24 18
10 30 5 27 15 19 14 43 24 18
10 30 5 27 15 19 14 43 24 18
10 30 5 27 15 19 14 43 24 18
10 30 2 27 15 19 14 43 24 18
10 30 4 27 15 19 14 43 24 18
10 30 4 34 15 19 14 43 24 18
10 30 4 7 15 19 14 43 24 18
10 30 4 7 15 19 14 43 24 18
10 30 4 55 15 19 14 43 24 18
10 30 4 28 15 19 14 43 24 18
10 30 4 28 15 19 14 43 24 18
10 30 4 28 40 19 14 43 24 18
10 30 4 28 8 19 14 43 24 18
10 30 4 28 44 19 14 43 24 18
10 30 4 28 49 19 14 43 24 18
10 30 4 28 49 19 14 43 1 18
10 30 4 28 49 19 14 43 21 18
10 30 4 28 49 19 14 43 8 18
10 30 4 28 49 19 14 43 0 18
10 30 4 28 49 19 14 43 1 18
10 30 4 28 49 19 14 43 1 54
10 30 4 28 49 19 14 43 1 35
10 30 4 28 49 19 14 43 1 15
10 30 4 28 49 19 14 43 1 27
10 30 4 28 49 19 14 43 1 21
10 30 4 28 49 0 14 43 1 21
10 30 4 28 49 46 14 43 1 21
10 30 4 28 49 24 14 43 1 21
10 30 4 28 49 25 14 43 1 21
10 30 4 28 49 8 14 43 1 21
10 30 4 28 49 8 14 3 1 21
10 30 4 28 49 8 14 38 1 21
10 30 4 28 49 8 14 38 1 21
10 30 4 28 49 8 14 40 1 21
10 30 4 28 49 8 14 22 1 21
10 17 4 28 49 8 14 22 1 21
10 36 4 28 49 8 14 22 1 21
10 44 4 28 49 8 14 22 1 21
10 31 4 28 49 8 14 22 1 21
10 42 4 28 49 8 14 22 1 21
10 42 4 28 49 8 14 22 1 21
44 42 4 28 49 8 14 22 1 21
38 42 4 28 49 8 14 22 1 21
11 42 4 28 49 8 14 22 1 21
6 42 4 28 49 8 14 22 1 21
6 42 4 28 49 8 7 22 1 21
6 42 4 28 49 8 5 22 1 21
6 42 4 28 49 8 5 22 1 21
6 42 4 28 49 8 10 22 1 21
6 42 4 28 49 8 10 22 1 21


Мой получившийся код:
Кликните здесь для просмотра всего текста
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
#include <string>
#include <bitset>
#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>
 
#include "lab4.h"
 
using namespace std;
 
static const size_t PageNumbers = 10;
 
struct PAGES
{
    int virt;
};
 
struct List
{
    PAGES data;
    List* next;
};
 
 
struct List *init(struct List* last, PAGES data)
{  
   struct List *temp = new List;
   temp -> data = data;
   last = temp;
   last->next = last;
   return last;
}
 
struct List *AddElem(struct List *last, PAGES data)
{  
   struct List *temp = new List;
   temp -> data = data;
   temp -> next = last -> next;
   last -> next = temp;
   last = temp;
   return last;
}
 
struct List *AddElemFirst(struct List *last, PAGES data)
{
   struct List *temp = new List;
 
   temp -> data = data;
   temp -> next = last -> next;
   last -> next = temp;
  
   return last;
}
 
bool FindElem(List* begin, int virt)
{
    List* p = begin;
    do{
       if (p->data.virt == virt)
           {
               return false;
           }
        p = p->next;
    }while (p->next != begin);
    return true;
}
 
int Size_of(List* begin)
{
    int i=0;
    List* p = begin;
    while (p->next != begin)
    {
    i++;
        p = p->next;
    }
    return i;
}
 
void DelElem(List** begin, List* ptrCur)
{
    List* p;
    if (ptrCur == *begin)
    {
        *begin = (*begin)->next;
    }
    else
    {
        p = *begin;
        while (p->next != ptrCur)
            p = p->next;
        p->next = ptrCur->next;
    }
    delete ptrCur;
}
 
void ShowList(List* begin)
{
struct List *p;
p = begin -> next; 
do {
      cout << p -> data.virt << " ";
      p = p -> next;
      } while(p != begin->next);
   cout<<endl;
}
    
void meth_clock()
{
List* head = NULL;
List* cur = NULL;
List* fin = NULL;
PAGES page;
bool start=true;
    for (string line; getline(cin, line);) {
        int virt = stoi(line.substr(2));
        page.virt = virt;
        if(start){head = init(head, page);start=false;}
        else{
        bool new_page = true;
        //check virtual number
        new_page=FindElem(head,virt);
        if (new_page) {
            //add to end if table empty
            if (Size_of(head) < PageNumbers-1) {
                page.virt = virt;
                head = AddElem(head, page);
                cur=head;
            }
            //if table full
            else {
                cur->next=head;
                DelElem(&head,cur);
                head= AddElem(head, page);
              }
           }
           
        }
        //create table
        ShowList(head);
    }
}
 
void aging()
{
    vector<PAGES> pages;
    int counter = 0;
    //count lines
    for (string line; getline(cin, line);) {
        counter++;
        
        int operation = stoi(line.substr(0, 1));
        int virt = stoi(line.substr(2));
        int page_index = -1;
        
        //get pages index
        for (int i = 0; i < pages.size(); i++)
        {
            if (virt == pages[i].virt) {
                page_index = i;
                break;
            }
        }
        //if index =-1
        if (page_index != -1) {
            pages[page_index].read = true;
            pages[page_index].modify = (pages[page_index].modify || (operation == 1));
        }
        else {
        
            //add to end if table empty
            if (pages.size() < PageNumbers) {
                pages.emplace_back(pages.size(), virt, 0, true,(operation == 1));
            }
            ///if table full
            else {
                vector<PAGES> tmp;
                int min_bit = pages[0].bit;
                
                //PAGES elements with the min bit to temp table
                for (auto& p : pages) {
                    if (min_bit > p.bit) {
                        min_bit = p.bit;
                        tmp.clear();
                        tmp.push_back(p);
                    }
                    else if (min_bit == p.bit) {
                        tmp.push_back(p);
                    }
                }
                PAGES replaced_page;
                //if elements more 1, delete random
                if (tmp.size() > 1) {
                    replaced_page = tmp[uniform_rnd(0, static_cast<int>(tmp.size() - 1))];
                }
                else {
                    replaced_page = tmp[0];
                }
                pages[replaced_page.phys] = PAGES(replaced_page.phys, virt,0, true, (operation == 1));
            }
        }
        //interruption
        if (counter % 5 == 0) {
            for (auto& p : pages) {
                p.read = false;
                p.bit>>1;
            }
        }
        //create table
        for (int i = 0; i < PageNumbers; i++) {
            if (i < pages.size()) {
                cout << pages[i].virt;
            }
            else {
                cout << "#";
            }
            if (i == PageNumbers - 1) {
                cout << endl;
            }
            else {
                cout << " ";
            }
        }
   }
}
 
int main(int argc, char *argv[])
{
    int alg = 2;
    if (argc > 1) {
        alg = atoi(argv[1]);
    }
    if (alg == 1) {
        meth_clock();
    }
    else if (alg == 2) {
        aging();
    };
    return 0;
}


Вернуться к обсуждению:
Алгоритмы Clock и Aging C/C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2023, 07:31
Готовые ответы и решения:

Резкое падение частоты (GPU Clock, Memory Clock) - gpu(135.0 MHz) memory clock(202.5MHz)
Незнаю из-за чего такое падение частоты и частота падает (я еду на машине просто или иду и тут...

Автоматически сбрасываются частоты Core clock Шейдеров и Memory clock, AMD M2N-MX se plus
Добрый Вечер! У меня такая проблема: Во время игры падает фпс(Кол-во Кадров в секунду),нажимаю...

Разные частоты пунктах GPU clock и Default clock
Не понимаю почему у меня вообще разные частоты пунктах GPU clock и Default clock. Помогите...

Возможно ли сделать отсчет времени в лотусе Clock In/ Clock Out
Привет лотусистам! Такая вот задача. Когда человек приходит на работу он в лотусе где то ставит...

0
19.01.2023, 07:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2023, 07:31
Помогаю со студенческими работами здесь

Core clock и Memory Clock - что это за параметры?
Core clock и Memory Clock разъясните мне, пожалуйста, что это за параметры? По умолчанию Core Clock...

Philips 170S8FS/00 всё время в режиме AGING
Нужна помощь... Монитор Philips 170S8FS/00 были земенены кодеры в б.п заменин диодный мост и...

Просадки GPU Clock и GPU Memory Clock
Здравствуйте, заметил что GPU Clock и GPU Memory Clock постоянно скачут, не знаю плохо ли это, но...

Просадки GPU Clock и GPU Memory Clock
Добрый вечер. Появилась такая проблема. Раз в несколько минут на долю секунды на экране появляются...

clock()
Извиняюсь за тупой вопрос, больше негде спросить. выводит 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 В...

Clock
Ребят помогите У меня задание &quot;Цифровые часы&quot; unit Unit1; interface uses Windows,...

Реализовать алгоритмы построения прямой: простой пошаговый алгоритм и алгоритмы Брезенхема
1. Написать на языке PASCAL программу, реализующую алгоритмы построения прямой: простой пошаговый...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru