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

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

Войти
Регистрация
Восстановить пароль
 
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
#1

Программа при исполнении выдает ошибку и прерывается! (2-мерный динамический массив) - C++

03.12.2012, 03:23. Просмотров 400. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста! Задали написать программку, я ее написала, и только в одном фрагменте "зависла". Для начала надо задать 2-мерный динамический массив и заполнить его случайными числами. Я все делаю, но когда запускаю, после того как выведено 2 строки программа замирает и вырубается. В чем причина? Неправильно выделена память? Объясните...
Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
int main() {
    srand (time(NULL)) ;
    int n,m,i,j;
    
    cout << "n" << '\n';  cin >> n;
    cout << "m" << '\n';  cin >> m;
    int **arr = (int**) malloc(n*sizeof(int));    //задаю массив указателей
    for (i=0;i<n;i++) {
        *arr=(int*)malloc(m*sizeof(int));}         // выделяю построчно память для элементов строк
        
    for (i=0;i<n;i++)                                     // вывожу массив
    {
        for (j=0;j<m;j++) { arr[i][j]=rand()%100; cout<< arr[i][j] << "   ";}   //заполняю элемент числом и вывожу
        cout<< '\n' ;}                                   //  переход на след строчку
       
 free (arr);       
    getch ();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2012, 03:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа при исполнении выдает ошибку и прерывается! (2-мерный динамический массив) (C++):

Динамический массив: программа выдает ошибку памяти - C++
Вот программа, выдает ошибку памяти как её исправить? не получается #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...

динамический 2-х мерный массив - C++
помогите плиз вот код , нужно составить динамический 2-х мерный массив double **a int n,m,l; scanf(&quot;%d%d&quot;,&amp;n,&amp;m); a=(double **)...

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

memcpy/CopyMemory + 2-мерный динамический массив - C++
Третий день в ступоре из-за ругательства компилятора. Есть проблема: нужно скопировать данные из одного двумерного динамического массива в...

программа выдает ошибку при компиляции - C++
подскажите, пожалуста, в чем ошибка..При компиляции выскакивает ошибка undefined reference to 'Obrabotchik::SetListContinents()' ...

Программа выдает ошибку при компиляции на dev c++ - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int main() { srand(time(NULL)); int *arr; int...

5
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.12.2012, 04:40 #2
C++
1
2
3
4
5
6
7
8
9
10
11
...
int **arr = (int**)malloc(n * sizeof(int*)); 
for (i = 0; i < n; i++) 
     arr[i] = (int*)malloc(m * sizeof(int)); 
 
...
for (i = 0; i < n; i++)
     free(arr[i]);
 
free (arr); 
...
0
Kuzia domovenok
2117 / 1946 / 190
Регистрация: 25.03.2012
Сообщений: 6,750
Записей в блоге: 1
03.12.2012, 04:43 #3
ой не то
собственно уже ответ дан.
0
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
03.12.2012, 14:22  [ТС] #4
А не могли бы объяснить, зачем так делать?

Добавлено через 6 минут
И программа также вылетает
0
Kuzia domovenok
2117 / 1946 / 190
Регистрация: 25.03.2012
Сообщений: 6,750
Записей в блоге: 1
03.12.2012, 14:28 #5
всё должно быть норм. ты что-то невнимательно исправил. Ты точно заменил строки 11, 12, 13, 19, 19
у себя на строки 2,3,4,7,8 у alsav22 соответственно
0
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
03.12.2012, 14:39  [ТС] #6
Ой, точно. Все, спасибо большое, заработало!)
0
03.12.2012, 14:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2012, 14:39
Привет! Вот еще темы с ответами:

Программа работает, но при выводе определенной комбинации выдает ошибку - C++
Помогите начинающему программисту :) Программа работает, но если ввести все непростые числа, то выдает ошибку &quot;поврежденная куча&quot;. Во всех...

Массив: при компилировании исходника компилятор выдает ошибку - C++
# include &lt;iostream&gt; # include &lt;math.h&gt; # include &lt;stdio.h&gt; using namespace std; int main () { const int ishod = 15; const...

Создать динамический 2-мерный массив, заполнить его случайным образом, сортировать столбцы по возрастанию их суммы - C++
Создать динамический 2-мерный массив, заполнить его случайным образом, сортировать столбцы по возрастанию их суммы. Именуйте темы...

Почему программа выдает ошибку при первом запуске, а дальше работает нормально? Код C - C++
Подскажите почему программа выдает ошибку при первом запуске, а дальше работает нормально? #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...


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

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

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