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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
intern
15 / 15 / 6
Регистрация: 30.03.2014
Сообщений: 74
Завершенные тесты: 2
#1

Не создается динамический двумерный массив - C++

06.06.2014, 00:57. Просмотров 300. Ответов 3
Метки нет (Все метки)

После компиляции приложение запускается с ошибкой:
Process returned -1073741819 (0xC0000005)
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
void create_array (int **arr, int M, int N)
{
    arr = new int* [M];
    for (int i=0; i!=M; ++i)
    {
        arr[i] = new int [N];
    }
}
 
void delete_array (int **arr, int M)
{
    for (int i=0; i!=M; ++i)
    {
        delete [] arr[i];
    }
    delete [] arr;
}
 
int main ()
{
    const int M = 5;
    const int N = 5;
    int **arr;
 
    create_array (arr, M, N);
    delete_array (arr, M);
 
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2014, 00:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не создается динамический двумерный массив (C++):

Написать программу, в которой создается двумерный динамический массив [5,8] - C++
Кто знает, как на С++ решается задача? Написать программу, в которой создается двумерный динамический массив . Массив заполняется...

Написать программу, в которой создается двумерный динамический массив - C++
Кто в курсе, как решить задачу на С++? Написать программу, в которой создается двумерный динамический массив. Количество строк и столбцов...

Динамический массив создается только с одним элементом - C++
Помогите пожалуйста с массивом! Его размер зависит от разрядности введенного числа. Разрядность вчитывается как надо и заносится в размер...

Составить программу , в которой создается одномерний динамический массив - C++
Сформировать одномерный массив целых чисел , используя датчик случайных чисел. Распечатать полученный массив . Удалить все элементы с ...

Двумерный Динамический массив - C++
Здравствуйте, такая проблема: не могу задать int** и char**...проблема в том что в функцию передются их размеры , но они не константы и...

Динамический двумерный массив - C++
Если число находится в интервале от 100 до 110, то используя подпрограмму, в матрицах Р(N,M), Q(N1,M1) и R(N2,M2) найти и отпечатать L -...

3
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.06.2014, 01:14 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от intern Посмотреть сообщение
После компиляции приложение запускается с ошибкой:
Потому что указатель по значению передаёте в функцию create_array().

Добавлено через 10 минут
C++
1
2
3
4
5
6
7
8
void create_array (int **&arr, int M, int N)
{
    arr = new int* [M];
    for (int i=0; i!=M; ++i)
    {
        arr[i] = new int [N];
    }
}
1
intern
15 / 15 / 6
Регистрация: 30.03.2014
Сообщений: 74
Завершенные тесты: 2
06.06.2014, 11:39  [ТС] #3
А почему тогда работают оба варианта для fill_array(arr, M, N):
C++
1
2
3
4
5
6
7
8
9
10
11
12
void fill_array (int **arr, int M, int N)
{
    srand (time(NULL));
    for (int i=0; i!=M; ++i)
    {
        for (int j=0; j!=N; ++j)
        {
            arr[i][j] = rand()%90+10;
        }
 
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
void fill_array (int **&arr, int M, int N)
{
    srand (time(NULL));
    for (int i=0; i!=M; ++i)
    {
        for (int j=0; j!=N; ++j)
        {
            arr[i][j] = rand()%90+10;
        }
 
    }
}
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.06.2014, 13:23 #4
Цитата Сообщение от intern Посмотреть сообщение
А почему тогда работают оба варианта для fill_array(arr, M, N):
Потому, что там не меняется значение самого указателя arr (как в create_array(): arr = new int* [M]).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2014, 13:23
Привет! Вот еще темы с ответами:

Двумерный динамический массив - C++
Здравствуйте, подскажите пожалуйста где ошибка? реализовал 2 фукнции ввода и вывода массива. #include <iostream> #include <windows.h> ...

Двумерный динамический массив - C++
Необходимо ввести с клавиатуры количество строк и столбцов массива(матрица размером N*M), ввести исходные данные. Удалить столбец матрицы,...

Двумерный динамический массив - C++
Здравствуйте, задание такое: "Описать двумерный массив R целых чисел, размерностью NхM элементов, заполнять массив случайными числами по...

Двумерный динамический массив - C++
Выскакивает ошибка Ошибка C2440 =: невозможно преобразовать "int *" в "int **" ConsoleApplication5 Из-за этого не выполняются...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
06.06.2014, 13:23
Ответ Создать тему
Опции темы

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