Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Visual C++ MFC MDI Splash-форма мерцание главного окна https://www.cyberforum.ru/ visual-cpp/ thread135895.html
Привет. Пишу MFC MDI приложение со Splash-формой и проверкой серийного номера. Столкнулся с такой проблемой, что когда создается главное окно, то никак не получается скрыть его, при старте перед скрытием оно все равно на пол-секунды показывается. Можно ли это исправить? Примечание: нашел ссылку:...
Visual C++ Вычислить значения многочлена и его первую производную,
Вычислить значения многочлена и его первую производную, используя формулу Горнера значения функции в заданном интервале с заданным шагом. Значения аргумента подобрать самостоятельно:y=0,81x10-2,2x8+2 x6-5 x4+2 x2-2 x+2,41
Visual C++ Напечатать все простые делители заданного натурального числа. https://www.cyberforum.ru/ visual-cpp/ thread135811.html
Напечатать все простые делители заданного натурального числа.
Visual C++ Считывание данных из pdf Подскажите пожалуйста как считать данные из pdf или где найти инфу по данному вопросу. Нужно считать и обработать данные. В конечном итоги данные должны попасть в базу данных. Нашёл под Delphi и C++ Builder, а под Visual не чего найти не могу. https://www.cyberforum.ru/ visual-cpp/ thread135698.html
Visual C++ Неопределенная ошибка с MS VS 10
На диалоговое окно в Вижле 2010, я не читая ответил ок, думая что ак как новыйпроект я компилю впервые он флудит. Теперь он компилит любой бредовый код.... Как я узнал в том диалоге спрашивалось: "Ваш код содержит ошибки. Вы хотите использовать последний нормальный вариант вашего кода для компиляции" Как мну ето исправить. Так как не владею английским то сам точно не справлюсь((( кто сталкивался...
Visual C++ Найти цифру, соответствующую разряду сотен в записи числа Дано целое число,более 999.Используя одну операцию деления нацело и одну операцию взятия остатка от деления,найти цифру,соответствующую разряду сотен в записи этого числа. https://www.cyberforum.ru/ visual-cpp/ thread135426.html
Visual C++ Клиент - серверное приложение https://www.cyberforum.ru/ visual-cpp/ thread135401.html
Привет. Нужно написать клиент-серверное приложение (связь по протоколу TCP/IP). Взял готовые примеры с msdn. На моей машине работает (VS2008). При попытке запустить приложение на другом компьютере поялвляется ошибка: "Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему". При этом на компьютере установлены...
Специальные символы в тексте диалогового окна Visual C++
Заранее прошу прощения за глуповатый, наверное, вопрос: может, кто подкинет идейку, как наиболее рационально вставить в Static Text специальные символы (в частности, греческие буквы)? Например, один из EditBox'ов предполагает введение значения предела текучести материала, и его нужно подписать: "Предел текучести σТ= МПа". Или придется картинкой вставялть?
Visual C++ Сумма с факториалом Помогите пожалуйста написать прогу по шаблону. Собственно сам шаблон,здесь двойное суммирование с факториалом // first4.cpp // // Программа вычисления двойной суммы с факториалом: /* N M --- / \ --- / \ \ | i | \ | 2*i | https://www.cyberforum.ru/ visual-cpp/ thread135278.html Visual C++ Свойства комбобокса Как сделать, чтобы в комбобокс нельзя было вводить текст? https://www.cyberforum.ru/ visual-cpp/ thread135260.html
Для продолжения нажмите любую клавишу . . . Visual C++
Собственно глупый наверно вопрос,но не могу его решить. Программа работает корректно, но нужно чтобы выражение "Для продолжения нажмите любую клавишу . . ." было на стороку ниже,помогите. #include "stdafx.h" #include <math.h> // Подключение стандартных библиотек: // Библиотека Стандартного ввода/вывода #include <stdio.h> // Библиотека Стандартного консольного ввода/вывода
Visual C++ Очистка комбобокса Как отчистить комбобокс от всех строк? https://www.cyberforum.ru/ visual-cpp/ thread135198.html
1 / 1 / 0
Регистрация: 26.10.2009
Сообщений: 8
0

Освобождение динамически выделенной памяти - Visual C++ - Ответ 755244

26.05.2010, 15:37. Показов 944. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
ОС Windows инициировала точку останова в TimeDelay2.exe.
Это может быть вызвано повреждением кучи и указывает на ошибку в TimeDelay2.exe или в одной из загруженных им DLL.
Такое сообщение выдает когда начинается освобождение памяти в процедуре :
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
double time_delay(VPath* route, double** Pst, int L, double* CLoad) // CLoad (Channel Loading) загрузка канала, L - длина пакета, Ts - время задержки, V - матрица пропускных способностей ЛЦТ-ов, Route - набор виртуальных путей;
{
    double pro = 0, pro2 = 0;
    int Vb = 64000;                                // скорость вокодера;
    double Tq = Td - (double)(L - Hip)/(double)Vb; // заданное время пребывания пакета в пути (исключая время пакетизации);
    double intensity;                              // intensity - интенсивность потока;
    double result = 0;
    factor* A;
    do{
        A = new factor[route->lenght + 1];   // вектор коэффициентов;
        for(int num_A = 0; num_A< route->lenght + 1; num_A++){
            A[num_A].arg = new double[route->lenght];
            A[num_A].max_degree = 0;
            A[num_A].denominator = 0;
            A[num_A].denominator_degree = 1;
            for(int j=0;j< route->lenght + 1; j++){
                if(j != 0) A[num_A].arg[j] = 0;
                else A[num_A].arg[j] = 1;
            }
        }
        for(int i=0; i < route->lenght; i++){            // i - номер вершины в пути
            intensity = ((double)V[route->knot[i]-1][route->knot[i+1]-1] / (double)(L + Hna))*(1 - CLoad[ElementNum (route->knot[i]-1, route->knot[i+1]-1, num_knots)]);
            for(int num_A = 0; num_A < route->lenght; num_A++){         // num_A - номер коэффициента
                if(num_A != i){                 // проверка умножения №1
                    if(A[num_A].denominator != intensity){  // проверка умножения №2
                        for(int k = A[num_A].max_degree + 1; k>=0; k--){          // k - степень аргумента S
                            if(k == 0)
                                A[num_A].arg[k] = A[num_A].arg[k] * intensity;
                            else{
                                if(k == A[num_A].max_degree)
                                    A[num_A].arg[k] = A[num_A].arg[k-1] + intensity;
                                else{
                                    if(k == A[num_A].max_degree + 1)
                                        A[num_A].arg[k] = 1;
                                    else
                                        A[num_A].arg[k] = A[num_A].arg[k] * intensity + A[num_A].arg[k-1];
                                }
                            }
                        }
                        A[num_A].max_degree++;
                    }
                    else
                        A[num_A].denominator_degree++;
                }
                else
                    A[num_A].denominator = intensity;
            }
            A[route->lenght].arg[0] = A[route->lenght].arg[0] * intensity;
        }
        for(int num_A = 0; num_A < route->lenght; num_A++){
            for(int s = 0; s < route->lenght; s++)
                if(s != num_A){
                    if (A[num_A].arg[num_A] == 0){
                        for (int i = 0; i < route->lenght + 1; i++)
                            A[i].arg[num_A] = A[i].arg[num_A] + A[i].arg[num_A+1];
                    }
                    intensity = A[num_A].arg[s]/A[num_A].arg[num_A];
                    for(int i = 0; i < route->lenght + 1; i++)
                        A[i].arg[s] = A[i].arg[s] - intensity * A[i].arg[num_A];
                }
        }
        for(int num_A = 0; num_A < route->lenght; num_A++){
            A[num_A].arg[num_A] = A[route->lenght].arg[num_A]/A[num_A].arg[num_A];
            if(A[num_A].arg[num_A] != 0){
                intensity = ((double)V[route->knot[num_A]-1][route->knot[num_A+1]-1] / (double)(L + Hna))*(1 - CLoad[ElementNum (route->knot[num_A]-1, route->knot[num_A+1]-1, num_knots)]);
                pro = factorial(A[num_A].denominator_degree - 1);
                pro2 = integral(A[num_A].denominator_degree - 1,Tq,intensity);
                result = result + A[num_A].arg[num_A] * Pst[route->knot[0]-1][route->knot[route->lenght]-1] / factorial(A[num_A].denominator_degree - 1) * integral(A[num_A].denominator_degree - 1,Tq,intensity);
            }
        }
        //for(int num_A = 0; num_A< route->lenght + 1; num_A++)
        //  A[num_A].~factor();
        delete[] A;
        A = (factor*)NULL;
        route = route->next_vpath;
    }while(route != (VPath*)NULL);
    return result = 1 - result;
}
Тело структуры
C++
1
2
3
4
5
6
7
8
9
10
struct factor
{
    double* arg;   // коэффициент при комплексном аргументе s ;
    int max_degree;  // старшая степень комплексного аргумента s;
    double denominator; // модуль корня знаменателя простейшей дроби;
    int denominator_degree; // степень знаменателя простейшей дроби;
    ~factor(){
        delete[] arg;
    }
};
Добавлено через 30 минут
Ошибку нашел. Можно закрыть.

Вернуться к обсуждению:
Освобождение динамически выделенной памяти Visual C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2010, 15:37
Готовые ответы и решения:

Ошибка при чистке динамически выделенной памяти
Всё выполняется, но при очистке памяти: for (j=0; j&lt;m; j++) delete aa; delete aa; ...

Ошибка при освобождении динамически выделенной памяти
Почему возникает ошибка при выделении памяти под buff при 2-й итерации? #include &lt;stdio.h&gt;...

Очень долгое освобождение динамически выделенной памяти
Все никак не могу разобраться с одной проблеммой! У меня есть отображение, в котором хранятся...

Освобождение динамически созданных переменных (2-ого уровня)
И так, продолжу старую тему про динамику. На этот раз есть вот что: #include &lt;iostream&gt;...

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

Освобождение памяти после std:bind
Что имею: - CentOS - gcc 4.8 - valgrind Что делаю - С помощью valgrind устраняю утечки ...

BISON, освобождение памяти при синтаксической ошибке.
Здравствуйте. При работе с BISON, как освободить память выделенную под возвращаемые продукциями...

Освобождение выделенной памяти
Здравствуйте! Есть структура, выглядит, например, так: struct some_structure { int* s; } ...

Корректно ли освобождение выделенной памяти?
Извиняюсь, если такой вопрос уже звучал. Допустим есть такой кусок кода: struct A { int *x; }...

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