Форум программистов, компьютерный форум, киберфорум
Наши страницы

Кэш.Функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка сегментации при освобождении памяти http://www.cyberforum.ru/cpp/thread220146.html
Вот в упор не понимаю, почему программа вылетает уже на завершающем этапе. Пожалуйста, посмотрите, что не так // для тестирования #include <iostream> #include "vbytearray.h" using namespace...
C++ C++ Builder6 Текс т в файле: "Если душа родилась крылатой- Что ей хоромы- и что ей хаты" Используя функции обработки строковых и символьных переменных, соединить обе строки и выделить подстроку заключённую... http://www.cyberforum.ru/cpp/thread219960.html
IPconfig в С++ C++
нужна информация протокол IPconfig в С++ пути реализации + мне надо что был там исходник чтобы увидеть как обращаеться
C++ Сделайте программу на C или C++ пожалуйста!!
Написать программу, которая вычисляет среднее арифметическое элементов, находящихся на побочной диагонали двумерного массива и заменяет результатом элементы, располагающиеся ниже главной...
C++ Распараллелить с использованием MPICH на Visual C++ http://www.cyberforum.ru/cpp/thread219669.html
вот есть реально работающий код на Maple > restart; > a := 6; b := 6; q := 20; n := 4; U := 10; > Summ := 0; Summ1 := 0; > for i to n+1 do for j to n+1 do x := i*a/(n+1); y :=...
C++ Распознавание речи(+ команд) привет!!) вопрос такой - при помощи чего можно распознавать речь, какие есть варианты?? интересует реализация прежде всего кроссплатформенная, может есть какие-нить библиотеки наподобия OPEN CV....... подробнее

Показать сообщение отдельно
EVP
390 / 246 / 43
Регистрация: 14.12.2010
Сообщений: 472
27.12.2010, 01:04
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
#include <locale.h>
#include <list>
 
class CResult //класс результата m_result = m_a + m_b;
{
private:
    int m_a;
    int m_b;
    int m_result;
 
public:
    CResult(int _a, int _b, int _result)
    {
        m_a = _a;
        m_b = _b;
        m_result = _result;
    }
    bool IsReady(int _a, int _b) const
    {
        return ((m_a == _a) && (m_b == _b));
    }
    int GetResult() const
    {
        return m_result;
    }
};
 
int GetComplexCalculation(int _a, int _b)
{
    #define DCashMaxSize 100
    static std::list<CResult> cash;
    for(std::list<CResult>::iterator iter = cash.begin(); iter != cash.end(); iter++)
    {
        if (iter->IsReady(_a,_b))
        {
            printf("найдено в кеше (a=%d,b=%d,r=%d);\r\n", _a,_b,iter->GetResult());
            return iter->GetResult();
        }
    }
 
    printf("вычисляем (%d + %d); ", _a, _b);
    int result = _a + _b;
 
    printf("добавляем в кеш (%d,%d,%d);\r\n", _a, _b, result);
    if (cash.size() == DCashMaxSize)
        cash.pop_front();
    cash.push_back(CResult(_a, _b, result));
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    for(int i = 0; i < 4; i++)
        for(int j = 0; j < 4; j++)
            printf("вычисляем %d+%d=%d\r\n",i,j,GetComplexCalculation(i,j));
    for(int i = 0; i < 4; i++)
        for(int j = 0; j < 4; j++)
            printf("вычисляем %d+%d=%d\r\n",i,j,GetComplexCalculation(i,j));
    return 0;
}
Работает, если кеш не переполняется..
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru