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

Удаление памяти посредством delete[] - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработать класс Car (автомобиль) http://www.cyberforum.ru/cpp-beginners/thread869709.html
Разработать класс Car (автомобиль). Объявить переменные типа этого класса. Определить данные и методы.
C++ Деление стороны квадрата на N равных частей Здравствуйте, уважаемые форумчане! Нужна помощь со следующим заданием: "Каждую сторону квадрата разделить на N равных частей. Соединить все точки разбиения, включая вершины, отрезками. Число разбиений N ввести с клавиатуры. Обеспечить контроль правильности ввода и возможность стирания символов, которые введены ошибочно. Центр квадрата и одну точку, принадлежащую стороне квадрата, отметить... http://www.cyberforum.ru/cpp-beginners/thread869698.html
C++ Вычислить значения функции
Помогите пожалуйста написать программы на turbo C++. Задания простые, а я не могу((((. 1)Вычислить значения функции при A=1.5, B=2, C=2.5 (константы) и произвольном x (ввести с клавиатуры). z={B}^{x}+\frac{A}{{x}^{C}}+\sqrt{\mid A-x\mid } Надеюсь на Вашу помощь! Alex1309, правила форума: один вопрос - одна тема. Ваши задания вынесены в отдельные темы: ...
Деление стороны квадрата на N равных частей C++
Здравствуйте, уважаемые форумчане! Нужна помощь со следующим заданием: "Каждую сторону квадрата разделить на N равных частей. Соединить все точки разбиения, включая вершины, отрезками. Число разбиений N ввести с клавиатуры. Обеспечить контроль правильности ввода и возможность стирания символов, которые введены ошибочно. Центр квадрата и одну точку, принадлежащую стороне квадрата, отметить...
C++ Минимальное количество байт, которое займёт отрицательное число http://www.cyberforum.ru/cpp-beginners/thread869689.html
Нужно узнать минимальное количество байт, которое займёт число. То есть в int у нас может быть число и 256 (00000001 00000000), которое займёт 2 байта, и 255 (00000000 11111111), которое может занять всего 1 байт. Нужно вычислить это минимальное количество. Написал функцию: int BytesCount(int Number) { int NumberOfBytes = 0; do { Number = Number >> 8;
C++ Вводится последовательность из N целых чисел. Найти максимальное совершенное число в последовательности, если таких несколько, вывести их количество ( Вводится последовательность из N целых чисел. Найти максимальное совершенное число в последовательности, если таких несколько, вывести их количество (функцией оформить проверку числа: результатом функции будет 1 – число совершенное, 0 - нет). (Совершенное число – это целое число, у которого сумма всех делителей, меньших его самого, равна этому числу). Помогите доработать пожалуйста... подробнее

Показать сообщение отдельно
Magister
 Аватар для Magister
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 6
18.05.2013, 22:08     Удаление памяти посредством delete[]
Добрый день! Столкнулся с проблемой: при удалении выделенной памяти, программа зависает, будто не способна выполнить данный оператор. Ошибок при компиляции не возникает, может кто-то знает, в чём могла бы закрасться проблема? Заранее большое спасибо!

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
int MyArray::iliffeView(int a, int b, int c, int d)
{
    int *vector = new int[size];
    int x = 0;
    for(int i = 0; i <= high[0] - low[0]; ++i)
        for(int j = 0; j <= high[1] - low[1]; ++j)
            for(int k = 0; k <= high[2] - low[2]; ++k)
                for(int l = 0; l <= high[3] - low[3]; ++l)
                    vector[x++] = matrix[i][j][k][l]; 
    int ****base;
    int ***level1[4]; //1
    int **level2[4][2]; //4
    int *level3[8][4]; //8
    
    base = level1;
 
    for(int i = 0; i<4; ++i)
        level1[i] = level2[i];
    
    for(int i = 0; i<4; ++i)
        for(int j = 0; j<2; ++j)
            level2[i][j] = level3[2*i+j];
    
    x = 0;
    for(int i = 0; i<8; ++i)
        for(int j = 0; j<4; ++j){
            level3[i][j] = vector+x;
            vector+=4;
        }
    int answer = *(*(*(*(base + (a - low[0])) + (b - low[1]))+ (c - low[2]))+ (d - low[3]));
    delete[] vector; //проблема здесь!
    return answer;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru