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

Куча была повреждена. При выделении памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ матрица http://www.cyberforum.ru/cpp-beginners/thread605013.html
В заданной целочисленной матрице A(N,M) заменить первый отрицательный элемент максимальным элементом матрицы. Если отрицательных элементов нет, то вывести соответствующий текст. Элементы матриц просматривать слева направо и сверху вниз. нужно написать программу в си++, уже не знаю что делать голова не варит уже
C++ исправьте код вот задача: Найти значение выражения arcsin(L)+arccos(L) при следующих значениях L:-корень(2)/2;корень(3)/3 L-альфа вот попробовал и не получилось,вот я ещё о чём подумал что если я буду вводить значения с клавиатуры то я не смогу ввести корень... #include <iostream> #include <math.h> using namespace std; int main(int argc, char** argv) { http://www.cyberforum.ru/cpp-beginners/thread604958.html
абстракция C++
оъясните,пжлста,на примере суть абстракции
C++ Удалить первый элемент списка
Подскажите пожалуйста!!! Как сделать так чтобы в этой программе происходило удаление элемента первого в списке??? В этой программе удаляется последний элемент,как изменить я не знаю=(. Помогите пожалйста,очень нужно!!! #include<stdio.h> #include<conio.h> struct Sheet { char a; int b;
C++ Простая перегрузка оператора http://www.cyberforum.ru/cpp-beginners/thread604934.html
Доброго времени суток. Как и многие в этом разделе прошу о помощи. Преподавателем была поставлена задача создать класс "Дробь", далее же маразматическое условие перегрузить оператор сложения (просто сложить числитель и знаменатель каждой дроби не приводя их к общему знаменателю). Вроде бы старался придерживаться примерам, показанным в литературе, однако при компилировании ниже указанного кода...
C++ Структура unicode_string Помогите разобраться со структурой UNICODE_STRING. Вот ее код: typedef struct _LSA_UNICODE_STRING { USHORT Length; USHORT MaximumLength; #ifdef MIDL_PASS #endif // MIDL_PASS PWSTR Buffer; } LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;Нужно переписать ее на другой язык программирования и с этим есть проблемы. 1. Что за константа MIDL_PASS и в каких случаях она будет... подробнее

Показать сообщение отдельно
GagarinSokol
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 27
13.06.2012, 22:55     Куча была повреждена. При выделении памяти
Всем привет.
Вот в этой строчке(83) : XY->NextXY = new StructXY;
Не понимаю что не так. После её работы выдаёт что куча повреждена.

Код функции:
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
int Graph::MinLengthBetweenTwoGraph(int a, int b, StructXY * qwerty)
{
    StructXY * XY;
    XY = qwerty;
    StructGraphData * GraphDataBegun_1, * GraphDataBegun_2;
    GraphDataBegun_1 = CentralGraphData;
    GraphDataBegun_2 = CentralGraphData;
    while (GraphDataBegun_1->GraphNum != a)
        GraphDataBegun_1 = GraphDataBegun_1->NextGraph;
    while (GraphDataBegun_2->GraphNum != b)
        GraphDataBegun_2 = GraphDataBegun_2->NextGraph;
 
    int Lenc_sris_1 = 0, Lenc_sris_2 = 0;
    while (GraphDataBegun_1)
    {
        Lenc_sris_1++;
        GraphDataBegun_1 = GraphDataBegun_1->ThisGraph;
    }
    while (GraphDataBegun_2)
    {
        Lenc_sris_2++;
        GraphDataBegun_2 = GraphDataBegun_2->ThisGraph;
    }
 
    GraphDataBegun_1 = CentralGraphData;
    GraphDataBegun_2 = CentralGraphData;
    while (GraphDataBegun_1->GraphNum != a)
        GraphDataBegun_1 = GraphDataBegun_1->NextGraph;
    while (GraphDataBegun_2->GraphNum != b)
        GraphDataBegun_2 = GraphDataBegun_2->NextGraph;
 
    double * DlinaDoPoints = new double[Lenc_sris_1 * Lenc_sris_2];
    int * SpecPointX_1 = new int[Lenc_sris_1];
    int * SpecPointY_1 = new int[Lenc_sris_1];
    int * SpecPointX_2 = new int[Lenc_sris_2];
    int * SpecPointY_2 = new int[Lenc_sris_2];
    int VremPeremen = 0;
    //перебираем точки и вычисляем длины
    while (GraphDataBegun_1)
    {
        while (GraphDataBegun_2)
        {
            double Res = sqrt( (double)( (GraphDataBegun_1->X - GraphDataBegun_2->X) * (GraphDataBegun_1->X - GraphDataBegun_2->X) + (GraphDataBegun_1->Y - GraphDataBegun_2->Y) * (GraphDataBegun_1->Y - GraphDataBegun_2->Y) ) );
                DlinaDoPoints[VremPeremen] = Res;
                SpecPointX_1[VremPeremen] = GraphDataBegun_1->X;
                SpecPointY_1[VremPeremen] = GraphDataBegun_1->Y;
                SpecPointX_2[VremPeremen] = GraphDataBegun_2->X;
                SpecPointY_2[VremPeremen] = GraphDataBegun_2->Y;
                VremPeremen++;
            GraphDataBegun_2 = GraphDataBegun_2->ThisGraph;
        }
        GraphDataBegun_2 = CentralGraphData;
        while (GraphDataBegun_2->GraphNum != b)
            GraphDataBegun_2 = GraphDataBegun_2->NextGraph;
        GraphDataBegun_1 = GraphDataBegun_1->ThisGraph;
    }
    //отсев больших
    double MinTutInMass = 0;
    int GoodPeremen = 0;
    MinTutInMass = DlinaDoPoints[0];
    for (int i = 0; i < VremPeremen; i++)
    {
        if ( DlinaDoPoints[i] < MinTutInMass )
            MinTutInMass = DlinaDoPoints[i];
    }
    for (int i = 0; i < VremPeremen; i++)
    {
        if ( DlinaDoPoints[i] > MinTutInMass )
            DlinaDoPoints[i] = -1;
        else
            GoodPeremen++;
    }
 
    for (int i = 0; i < VremPeremen; i++)
    {
        if ( DlinaDoPoints[i] != -1)
        {
            XY->Lench = DlinaDoPoints[i];
            XY->X_1 = SpecPointX_1[i];
            XY->X_2 =SpecPointX_2[i];
            XY->Y_1 = SpecPointY_1[i];
            XY->Y_2 = SpecPointY_2[i];
            XY->NextXY = new StructXY;
            XY = XY->NextXY;
            XY->NextXY = NULL;
        }
    }
    XY = NULL;
 
    return 0;
}
Подскажите что с этим делать...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru