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

Алгоритмы замещения страниц(STL, вторая попытка) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему for_each() не выводит кирилицу http://www.cyberforum.ru/cpp-beginners/thread453107.html
Вот такой код: #include <iostream> #include <string> #include <vector> #include <algorithm> void show(const std::string & s); int main() { using namespace std; setlocale(0, "");
C++ Перевод из одной системы счисления в другую. Мне задали сделать калькулятор для программиста на языке С. В нем требуется выполнение операций только целые числа, 4 арифметических действия, битовые операции | & ~ ^, перевод в 8,10,16,2 систему исчисления. Вопрос: Есть ли функции в С которые осуществляют перевод в 8,10,16,2 систему исчисления? Какие это функции, как их использовать. P.S. Если вы уже делали такой калькулятор, выложите... http://www.cyberforum.ru/cpp-beginners/thread453106.html
Числа - близнецы C++
В массиве простых чисел определить наличие чисел-близнецов (11-13; 7-5; 3-5)
C++ функция вывода системного времени
Всем привет! Необходимо написать функцию вывода текущего системного времени Вот слепил, а не работает: void InitTime(Time& time) { time_t rawtime; struct tm *timeinfo; time(&rawtime);
C++ Как лучше всего хранить коэффициенты? http://www.cyberforum.ru/cpp-beginners/thread453051.html
Мне нужно работать с матрицей порядка 100 000. Она сильно разреженная, по этому хранить все коэффициенты - не вижу смысла. Стало быть нужно хранить только не нулевые элементы матрицы. Но вот как это сделать лучше всего, чтобы было задействовано как можно меньше памяти? Элементы матрицы типа double
C++ Написать программу вычисления функции помогите пожалуйста подробнее

Показать сообщение отдельно
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
26.02.2012, 20:15     Алгоритмы замещения страниц(STL, вторая попытка)
не совсем понятно что у вы там хотели

У меня сделано так, что находится страница которая есть в памяти, и удаляется по ее позиции...
Вот это довольно неясная формулировка. Должна была удалятся найденная страница страница, у которой индекс в деке совпадает с знацением найденной страницы. Скорее всего имелось в виду первое. Если так, то ошибка в строках 45 и 46.
Вот маленько порефакторенный и исправленный код

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
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <deque>
#include <algorithm>
#include <utility>
#include <cstdlib>
 
using namespace std;
 
void show_fifo(const deque<int>& dq)
{
  deque<int>::const_iterator i;
  for (i=dq.begin(); i != dq.end(); ++i)
  {
    cout << *i << " ";
  }
  cout << endl;
}
 
int main()
{
  const int mem_size = 5;
  const int access_num = 13;
  const int array[] = {1, 2, 3, 4, 5, 2, 3, 4, 1, 5, 4, 1, 3};
 
  cout << "Vtoraya popbitka: " << endl;
  deque<int> dq(mem_size, -1);
 
  cout << "Memory: " << endl;
  show_fifo(dq);
 
  for (int i = 0; i < access_num; ++i)
  {
    cout << "Step " << (i+1) << ":" << endl;
 
    deque<int>::iterator pageIter = find(dq.begin(), dq.end(), array[i]);
    if (pageIter != dq.end())
    {       
      cout << "Page: " << array[i] << " has in memory" << endl;
      dq.erase(pageIter);
    }
    else
    {
      cout << "Page: " << array[i] << " not found" << endl;
      dq.pop_back();
    }
 
    dq.push_front(array[i]);
  }
 
  show_fifo(dq);
 
  return 0;
}
 
Текущее время: 01:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru