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

Не могу удалить динамический массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись в файл слов, которые не повторяются http://www.cyberforum.ru/cpp-beginners/thread1632342.html
Добрый вечер, помогите с кодом. Как сделать чтобы считать с файла слова в односвязный список, сделать сортировку, и записать в другой файл слова кроме тех которые повторяются. Вот мой код: void List::readFromFile(char *FileWay) { FILE *file; int j = 0; file = fopen(FileWay,"r"); if (file == NULL) { cout << "Error" << endl; return; }
C++ Разбить текст на страницы Дан текстовый файл. Преобразовать его, разбив текст на страницы и пронумеровав их, причем номер нечетной страницы должен размещаться в правом нижнем углу, а номер четной страницы - в ее левом нижнем углу. Число стока странице задается, а ширина страницы определяется самой длинной строкой в данной странице. Конец страницы отмечается символом с кодом 12, который помещается в отдельной строке. ... http://www.cyberforum.ru/cpp-beginners/thread1632331.html
C++ Проверить код на наличие ошибок
Добрый день, форумчане! Кто может проверить код на наличие ошибок ? Вариант задания 26 #include <iostream> #include <cmath> #include <cstdlib> using namespace std; int main() { int i, k = 0, j = 1; double q, z, x = -3;
C++ В одномерном целочисленном массиве поменять местами последний элемент с первым нулевым элементом
Ввести в память машины одномерный целочисленный массив, размерностью не более 50 элементов. 1)Поменять местами последний элемент с первым нулевым элементом. 2)Упорядочить массив таким образом, чтобы в начале шли отрицательные элементы, затем нулевые, затем положительные. Вывести на экран исходный массив и данные, полученные согласно заданию в варианте. Ввод массива, манипуляции с массивом,...
C++ Задача на поиск совпадений букв первого слова во втором http://www.cyberforum.ru/cpp-beginners/thread1632255.html
Ребят, решите пожалуйста задачу: Даны два слова. Для каждой буквы первого слова (в том числе для повторяющихся в этом слове букв) определить, входит ли она во второе слово. Например, если заданные слова информация и процессор, то для букв первого из них ответом должно быть: нет нет нет да да нет нет да нет нет Заранее спасибо:)
C++ Определить наибольшее число в массиве Есть задание , написать программу которая определяет наибольшее число в массиве , и количество его вхождений (на случай если будет два раза одно и тоже число , и оно же и наибольшее) Вот код : #include<iostream> #include<cstdlib> using namespace std; int main() { cout<<"8 laba\n"<<endl; int N; подробнее

Показать сообщение отдельно
eternalenvy
 Аватар для eternalenvy
0 / 0 / 0
Регистрация: 01.07.2014
Сообщений: 26
05.01.2016, 20:52     Не могу удалить динамический массив
В общем, выдает критическую ошибку:
HEAP CORRUPTION DETECTED: after Normal block (#140) at 0x004452BF0.
CRT detected that the application wrote to memory after end of heap buffer.

когда собираюсь удалить из памяти динамический массив. без 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
34
35
36
37
38
39
40
41
42
43
44
45
void fillArray(int *pArray, int size);
void showArray(int *pArray, int size);
void freeArray(int *pArray);
void swap(int *pArray, int size);
 
void showArray(int *pArray, int size) {
    for (int i = 0; i < size; i++) {
        cout << "[" << i + 1 << "]" << ": " << pArray[i] << endl;
    }
    cout << "------------------" << endl;
}
 
void swap(int *pArray, int size) {
    for (int i = 0; i < size; i++) {
        if (pArray[i] % 2 == 0) {
            int temp = pArray[i];
            pArray[i] = pArray[i + 1];
            pArray[i + 1] = temp;
        }
    }
}
 
 
void freeArray(int *pArray) {
    delete [] pArray;
}
 
void fillArray(int *pArray, int size) {
    for (int i = 0; i < size; i++) {
        pArray[i] = 1 + rand() % 50;
    }
}
 
int main() {
    srand(time(0));
    int sizeOfArray = 12;
    int *pArray = new int[sizeOfArray];
    fillArray(pArray, sizeOfArray);
    showArray(pArray, sizeOfArray);
    swap(pArray, sizeOfArray);
    showArray(pArray, sizeOfArray);
    freeArray(pArray);
 
    _getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru