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

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

Войти
Регистрация
Восстановить пароль
 
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
#1

Выделение памяти под массивы - C++

19.03.2014, 17:02. Просмотров 353. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
int  **mas1 = new int*[q];
    for (int e = 0; e < q; e++)
    mas1[e] = new int[q];
 
    int  **mas2 = new int*[e];
    for (int q = 0; q < e; q++)
    mas2[q] = new int[e];
C++
1
2
3
4
5
6
7
for(int q = 0; e < q; e++)
    delete[] mas1[e];
    delete [] mas1;
 
    for(int e = 0; q < e; q++)
    delete[] mas2[q];
    delete [] mas2;
правильно ли я выделяю память под массивы?

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
int Matrica1(int **mas1) {
     int i,j;
 cout << "***********The First Matrix***********" << endl;
 for(i=0;i<q;i++)
 {
    for(j=0;j<e;j++)
    {
        mas1[i][j]=random(1,100);
        cout << mas1[i][j]<< endl;
    }
 }
 return 0;
}
 
int Matrica2(int **mas2) {
     int i,j;
 cout << "***********The Second Matrix***********" << endl;
 for(i=0;i<e;i++)
 {
    for(j=0;j<q;j++)
    {
        mas2[i][j]=random(1,100);
        cout << mas2[i][j] << endl;
    }
 }
 return 0;
}
т.е. я ввожу размерность, например 3 на 2; а вторая должна будет получиться - 2 на 3, чтобы правильно перемножилось(при таких размерностях результирующая должна выйти 2 на 2)...но ошибка в том, что прога вылетает на моменте перемножения....может с индексами что-то не так, помогите плиз
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2014, 17:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выделение памяти под массивы (C++):

Структуры выделение динамической памяти под массивы - C++
Здравствуйте, Мне нужно создать массив из элементов структуры, и использовать для этого динамическую память,подскажите пожалуйста, в чем...

Выделение памяти под массивы в Windows Forms - C++
Всем здрасте) Такой вопрос, уже бьюсь несколько дней. Я создал форму где есть таблица datagridview и chart(рисует график). Не могу найти...

Динамическое выделение памяти, массивы - C++
Напишите программу, которая динамически выделяет память для переменной типа float, инициализируемого значением 3,0 и для массива из 15...

Выделение памяти под указатель - C++
Доброго времени суток. Возник такой вопрос: для любой программы, насколько мне известно, выделяется свой кусочек оперативной памяти. Когда...

Выделение памяти под указатель - C++
Здравствуйте форумчане,у меня возник маленький вопрос:) Почему sizeof(char) дает результат в 1 байт, а sizeof(char*) ) дает 4 байта.Как...

Выделение памяти под структуры - C++
Когда я только знакомился с кодингом на С(С++) я скачивал с инета очень много всякой литературы... Так вот... Недавно я начал заново...

4
kupnu4
26 / 26 / 9
Регистрация: 03.05.2013
Сообщений: 71
19.03.2014, 17:15 #2
неправильно.

C++
1
2
3
4
5
6
7
    int  **mas1 = new int*[q];
    for (int i = 0; i < q; i++)
    mas1[i] = new int[e];
 
    int  **mas2 = new int*[e];
    for (int i = 0; i < e; i++)
    mas2[i] = new int[q];
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
19.03.2014, 18:22  [ТС] #3
kupnu4, а у даление памяти такое же?

Добавлено через 14 минут
всм по циклы i тоже?

Добавлено через 4 минуты
kupnu4, так то же почему то не работает, вылетает еще на генерации

Добавлено через 20 минут
и еще что заметил, вылетает все время только при генерации второй матрицы

Добавлено через 19 минут
хотя нет закомментил функцию генерирующую второй массив, так же вылетает и после генерации первого
0
kupnu4
26 / 26 / 9
Регистрация: 03.05.2013
Сообщений: 71
19.03.2014, 19:00 #4
C++
1
2
3
4
5
6
7
    for(int i = 0; i < q; i++)
          delete[] mas1[i];
    delete [] mas1;
 
    for(int i = 0; i < e; i++)
         delete[] mas2[i];
    delete [] mas2;
освобождение памяти

Добавлено через 15 минут
проверил код, что прислал вам. он рабочий. может у вас переменные e и q не проинициализированы?
1
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
19.03.2014, 21:42  [ТС] #5
kupnu4, заработало, кое-что еще там подправил, но смысл уловил, спасибо)
0
19.03.2014, 21:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2014, 21:42
Привет! Вот еще темы с ответами:

Выделение памяти под структуру - C++
Доброго дня, товарисчи. В общем, возникла проблема при выделении памяти для структуры. Подскажите, пожалуйста, в чем ошибка. Собсна сам...

Выделение памяти под матрицу - C++
Всем доброго времени суток! Есть такая проблема, у меня есть свой класс Cell. Мне нужно создать матрицу объектов этого типа и выделить под...

Выделение памяти под файл - C++
Всем доброго времени суток. Написал некоторую структуру, работают все пунктики, все функции, но нашёлся недочёт. Если записывать в файл...

Выделение памяти под масссив - C++
Как занести данные в двумерный массив с клавиатуры? пользователь должен сам ввести размерность


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

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

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