0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 6
1

Трёхмерный динамический массив

12.02.2015, 15:39. Показов 2832. Ответов 4
Метки нет (Все метки)

Учусь делать многомерные динамические массивы. Написал прогу
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
int _tmain(int argc, _TCHAR* argv[])
{
    int M, N, L, i, j, k, b = 9, a = 1;
 
    int ***A = new int **[M];
    for (i = 0; i < M; i++)
    {
        A[i] = new int *[N];
        for (j = 0; j < N; j++)
            A[i][j] = new int [L];
    }
 
    cout << "\nM = ";
    cin >> M;
 
    cout << "\nN = ";
    cin >> N;
 
    cout << "\nL = ";
    cin >> L;
 
        cout << "\n";
 
    for (i = 0; i < M; i++) {
        for (j = 0; j < N; j++) {
            for (k = 0; k < L; k++) {
                A[i][j][k] = rand () % 10;
            }
        }
    }
 
        for (i = 0; i < M; i++) {
        for (j = 0; j < N; j++) {
            for (k = 0; k < L; k++) {
                cout << A[i][j][k] << " ";
            }
            cout << " \n";
        }
        cout << " \n\n";
    }
 
    for (int i = 0; i < M; i++)
        {
 
        for (int j = 0; j < N; j++)
            delete A[i][j];
    }
    
    delete A;
 
    getch();
}
Но прога работает только при M = 1. При других значениях ошибка:
First chance exception at $759A42EB. Exception class EAccessViolation with message 'Access Violation'. Process Project1.exe (7400)
Помогите, пожалуйста, её исправить)
Заранее благодарен)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2015, 15:39
Ответы с готовыми решениями:

Трехмерный динамический массив
Помогите создать трехмерный динамический массив, в c++ не сильно шарю, а в гугле нужной информации...

Трёхмерный динамический массив
Доброго времени суток! Не могу создать трёхмерный динамический массив! Точнее создаю один раз...

Трехмерный динамический массив
Здравствуйте друзья, я переписываю код с Delphi на C++. В Delphi был задан динамический трехмерный...

Динамический трёхмерный массив
Товарищи, помогите найти ошибку. Создаю 3х мерный динамический массив: int z; cout&lt;&lt;&quot;Input...

4
Dimension
591 / 459 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
12.02.2015, 15:48 2
у вас M N L не инициализированы
0
Заблокирован
12.02.2015, 15:55 3
Лучший ответ Сообщение было отмечено ИЛЮШКА как решение

Решение

Поменяйте местами блок строк 13-22 с блоком 5-11

Добавлено через 3 минуты
Чистим память
C++
1
2
3
4
5
6
7
8
9
10
for (int i = 0; i < M; i++)
{
 
    for (int j = 0; j < N; j++)
                delete [] A[i][j];
    
    delete [] A[i];
 
}
delete [] A;
1
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 6
12.02.2015, 16:06  [ТС] 4
Спасибо) заработало)
0
4201 / 1793 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
12.02.2015, 16:14 5
Цитата Сообщение от ИЛЮШКА Посмотреть сообщение
for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) delete A[i][j]; } delete A;
1. А элементы всего трёхмерного массива удалять не будем? Уж сначала почистить массивы скаляров, потом массивы массивов скаляров, а только потом весь трёхмерный массив.
2. Если new с [], то и delete c [].
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2015, 16:14
Помогаю со студенческими работами здесь

Динамический трёхмерный массив (создать)
Помогите создать трёхмерный динамический массив. int size=10; int ***Field; Field=new...

Создать трёхмерный динамический массив
Пытаюсь создать трёхмерный динамический массив. Но создаётся не любого типа. Вроде 0 5 1. или 2 2 2...

Трехмерный динамический массив типа char
Здравствуйте! Я хочу создать двухмерную матрицу, каждым элементом которой должна являться...

Как вывести трехмерный динамический массив
народ можете подсказать) написал код, где заполняется трехмерный массив так как мне необходимо, но...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru