Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 5
1

Освободить память от двумерного динамического массива

25.04.2015, 11:05. Показов 4967. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите, пожалуйста, разобраться с очисткой динамического массива.Спасибо.
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include<stdio.h>
#include<string.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
FILE *File_In;
int N=0;
 
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
if (OpenTextFileDialog1->Execute()) {
   AnsiString path=OpenTextFileDialog1->FileName;
   Label1->Caption=path;
           if ((File_In = fopen(path.c_str(),"r")) == NULL)
           {
           perror("Файл не существует");
           exit(0);
           }
 
   N=10;
   Memo1->Lines->LoadFromFile(path);
 
   int **ARRAY1=new int*[N]; //  Динамический двумерный массив создали
         for(int i=0; i<N; i++)  //       размером NxN
         {ARRAY1[i]=new int[N]; // ?
          }
 
         for(int i=0; i<N; i++)      //  заполняем случайными числами
             {for(int j=0; j<N; j++)
                {
                ARRAY1[i][j]=rand()%200;
                }
             }
 }
 
 
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
fclose(File_In);
for(int i=0; i<N; i++)          // очищаем массив
   delete [] ARRAY1[i];
delete []ARRAY1;
 
}
//---------------------------------------------------------------------------
Вложения
Тип файла: txt текст.txt (1.1 Кб, 3 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2015, 11:05
Ответы с готовыми решениями:

Не получается освободить память динамического двумерного массива
Пишу в Visual Studio 2015 Community Объявляю двумерный динамический массив так: int **mas =...

Как правильно освободить память двумерного массива
Память для test выделена так: char **test; test = (char **)calloc(n, sizeof(char *)); Чтобы...

Как освободить старые ImageVew чтобы освободить память
Привет всем Я новичок поэтому прошу сильно не пинать. В общем мое первое приложение типа интернет...

Можно ли освободить память от последней ячейки массива и как?
Пробую с помощью delete, не выходит. Выдаёт ошибку &quot;wntdll.pdb не загружен&quot;. Почему так? ...

5
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 5
25.04.2015, 11:10  [ТС] 2
всё дело в том что инициализация массива и его очистка в разных местах описана.т.е. не видит переменной. никак не додумаюсь как сделать глобальной массив.
0
7795 / 6561 / 2985
Регистрация: 14.04.2014
Сообщений: 28,694
25.04.2015, 11:13 3
Сделай ARRAY1 полем класса TForm1.
1
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 5
25.04.2015, 11:59  [ТС] 4
Извини, не мог бы пояснить как "Сделать ARRAY1 полем класса TForm1"
0
1408 / 571 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
25.04.2015, 12:08 5
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

в *.h файле в классе TForm1 в секции public напиши
C++
1
int **ARRAY1;
Добавлено через 3 минуты
int N; и FILE *File_In; тоже можно туда-же перенести
1
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 5
25.04.2015, 12:11  [ТС] 6
Спасибо Вам всем большое!!!
0
25.04.2015, 12:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2015, 12:11
Помогаю со студенческими работами здесь

Передача массива данных в Excel или создание двумерного динамического массива
Нашел на просторах вот такое: Dim oExcel As Object Dim oBook As Object Dim oSheet As...

Метод-член класса для создания одномерного массива из отрицательных элементов двумерного динамического массива
Помогите, пожалуйста, нужно разработать метод-член класса для создания одномерного массива из...

Создание динамического двумерного массива
void CreateArray(double **DynamicArray, int n){ //??? double **DynamicArray = new double* ; ...

Обработка двумерного динамического массива
Напишите программа буду очень благодарна =) Написать программу, в которой создаются динамические...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru