Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Лерик
0 / 0 / 1
Регистрация: 29.05.2015
Сообщений: 2
#1

Очищение памяти (одномерный динамический массив) - C++

12.08.2015, 15:20. Просмотров 331. Ответов 2
Метки нет (Все метки)

Здравствуйте, у меня возникла проблема с высвобождением памяти при одномерном динамическом массиве:
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
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
void PusSort (int a[]);
void Random (int&, int rm);
int main ()
{srand(time(0));//генерация случайных чисел
setlocale (LC_ALL, "rus");//Подключение русского языка
int *a=new int;//Объявление динамического массива
int rm;//Переменная с размером массива
cout<<"Введите размер массива:"<<endl;
cin>>rm;//Ввод размера массива
*a=rm;
for(int i=0; i<rm; i++)
{a[i]=rand()%rm+1;}
Random(*a,rm);
for(int i=0;i<rm;i++)
{cout<<setw(2)<<a[i];}
cout<<endl;
delete a;
system("pause");
return 0;}
 
void Random (int&a,int rm)
{for(int i=0; i<rm; i++)
{(&a)[i]=rand()%rm+1;}}
Если убрать
C++
1
delete a;
, то ошибка не появляется. Не могу понять причину ошибки. Заранее Спасибо!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2015, 15:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Очищение памяти (одномерный динамический массив) (C++):

Чтение бинарного файла с 16-ричными числами в массив - предоставление и очищение памяти
Программа вылетает, переполнение стека.. Имеется бинарный файл с 16-ричными...

Одномерный динамический массив
Не сортирует массив, и не выводит исходный. Не могу найти косяк ...

Динамический одномерный массив
Сформировать динамический одномерный массив вещественных чисел. Найти частное...

Не инициализируется динамический одномерный массив
#include &quot;stdafx.h&quot; int _tmain(int argc, _TCHAR* argv) { int n = 10;...

Можно ли индексировать одномерный динамический массив с 1?
Каким образом можно иднексировать одномерный динамический массив начиная с 1.

Как создать одномерный динамический массив?
Как создать одномерный динамический массив?

2
ture
528 / 336 / 206
Регистрация: 27.11.2014
Сообщений: 1,043
12.08.2015, 15:22 #2
C++
1
2
int *a=new int[rm];//Объявление динамического массива
delete[] a;
1
John Prick
831 / 764 / 256
Регистрация: 27.07.2012
Сообщений: 2,176
Завершенные тесты: 3
12.08.2015, 15:23 #3
C++
1
int *a=new int;//Объявление динамического массива
Здесь создаётся не массив, а одиночный объект.
Массив создаётся вот так:
C++
1
int * a = new int[size];
где size - нужный размер массива.

Добавлено через 42 секунды
И да, удаляется посредством delete[]
C++
1
delete [] a;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2015, 15:23
Привет! Вот еще темы с решениями:

Одномерный динамический массив(конструктор и деструктор)
Может кто чем поможет по решению задачи?или подскажите где искать заранее...

Переписать программу из паскаля в с++. Одномерный динамический массив
Это динамический масив! Помогите пожалуйста в С++ записать. Type mse = ^ms;...

Построить динамический одномерный массив из элементов матрицы
Дана динамическая целочисленная матрица.Построить динамический одномерный...

Динамический одномерный массив, запоминать до конца ввода
Здравствуйте, уважаемые программисты! Как сделать, чтобы вводимые символы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru