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

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

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

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

06.06.2014, 00:57. Просмотров 292. Ответов 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;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2014, 00:57     Не создается динамический двумерный массив
Посмотрите здесь:

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

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

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

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

new , delete (двумерный динамический массив) - C++
В данном примере рассмотрена задача: в двумерном динамическом массиве , в каждой строке нужно найти максимальное и поменять его знак на...

Заполнить динамический двумерный массив - C++
Заполнить динамический двумерный массив рандомными числами от 5 до 15. И сделать рандомными строки от 1 до 50. Добавлено через 15...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 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];
    }
}
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;
        }
 
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2014, 13:23     Не создается динамический двумерный массив
Еще ссылки по теме:

Динамический двумерный массив в функцию. - C++
#include <stdio.h> #include <iostream> #include <string.h> #include <time.h> using namespace std; void razmerimassiva(int...

Двумерный динамический массив. Шаблоны - C++
Всем привет нужно создать функцию которая создаёт двумерный массив заданной размерности (+использовать шаблоны). Делаю следующим образом ...

Глобальный динамический двумерный массив - C++
Вообще то задача на Си, но в разделе мало людей, поэтому пишу тут, помогите пожалуйста. Вообщем есть задача считать файл в функции init(),...

Двумерный динамический массив структур - C++
Q **Mas = new Q*; //points for(int i=0; i<size; i++) { Mas = new Q; } while(t<k) { for(double i=0.0; i<q1; i++) ...

Динамический двумерный массив (malloc, new) - C++
Подскажите как правильно записать нахождение суммы по строкам используя операторы malloc и new. /*9. Дан двумерный массив из 5 строк...

Двумерный динамический массив. Разжевать - C++
Для начала. int *array = new int; Инициализируется указатель array - которому присвается адрес переменных типа int, размерностью...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 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]).
Yandex
Объявления
06.06.2014, 13:23     Не создается динамический двумерный массив
Ответ Создать тему
Опции темы

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