Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708

Выделение динамической памяти

16.03.2020, 15:27. Показов 721. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация заключается в следующем я выделил память под двумерный массив, но получилось так что мне нужно выделить еще память

C++
1
2
3
4
5
6
 #define N 2
#define M 5
int **arr = new int*[N];//объявление массива
 
    for (int count = 0; count < N; count++){//выделение памяти под массив
        int*arr = new int[M];
А мне нужно дополнить ещё один массив длины 5. Как это сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2020, 15:27
Ответы с готовыми решениями:

Выделение динамической памяти
Добрый вечер. Помогите разобраться пожалуйста! Суть такова: есть файл, в нем есть данные, мне надо их оттуда считать и вывести на...

Выделение динамической памяти
Всем привет. Возникла задача, в которой мне необходимо знать как выделяется динамическая память средсвами new/delete. А именно,...

Выделение динамической памяти
Чем int *List = new int; delete List; отличается от обычного массива (int List) ? Нет, я понимаю, что создал динамическую...

16
 Аватар для Annemesski
2675 / 1336 / 481
Регистрация: 08.11.2016
Сообщений: 3,697
16.03.2020, 15:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int **tmparr = new int*[N+1];
for (int i = 0; i < N + 1; i++)
    int tmparr[i] = new int[M];
 
for (int i = 0; i < N; i++)
{
    for (int j = 0; j < M; j++)
        tmparr[i][j] = arr[i][j];
}
 
delete [] arr;
arr = tmparr;
tmparr = nullptr;
0
199 / 155 / 45
Регистрация: 11.11.2019
Сообщений: 348
16.03.2020, 15:33
строка 6:
C++
1
arr[count] = new int[M];
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
16.03.2020, 15:33
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
А мне нужно дополнить ещё один массив длины 5. Как это сделать?
C++
1
2
3
4
5
6
7
8
9
int n = N;
int **arr2 = new int*[n + 1];
arr2[n] = new int[M];
 
std::move(arr, arr + n, arr2);
delete[] arr;
arr = arr2;
 
++n;
1
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
16.03.2020, 15:56  [ТС]
oleg-m1973, хурма в том что у меня массив двумерный будет дополняться. И размер меняется будет в ходе выполнения, так что просто написать n +1, не совсем верно))
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
16.03.2020, 15:58
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
oleg-m1973, хурма в том что у меня массив двумерный будет дополняться. И размер меняется будет в ходе выполнения, так что просто написать n +1, не совсем верно))
Почему? В двумерный массив добавляется ещё одно строка, старые копируются, что не так?
0
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
16.03.2020, 16:38  [ТС]
oleg-m1973, а что за arr.... Где он проиницилизирован?

Добавлено через 3 минуты
oleg-m1973, и потом как работает
C++
1
2
delete[]arr;
arr = arr2; // как если строкой выше, массив arr удалён...
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
16.03.2020, 16:40
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
oleg-m1973, а что за arr.... Где он проиницилизирован?
У тебя
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
int **arr = new int*[N];//объявление массива
for (int count = 0; count < N; count++){//выделение памяти под массив
        int*arr = new int[M];
Добавлено через 1 минуту
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
oleg-m1973, и потом как работает
Создаёшь новый массив указателей, большего размера, копируешь в него указатели из старого, старый удаляешь
0
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
16.03.2020, 16:48  [ТС]
oleg-m1973, а чуть подробнее про move можно объяснить как он работает
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
16.03.2020, 16:51
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
oleg-m1973, а чуть подробнее про move можно объяснить как он работает
https://en.cppreference.com/w/cpp/algorithm/move
0
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
16.03.2020, 20:56  [ТС]
oleg-m1973,
C++
1
2
int arr1[2][4] = {{1,2,3,4}, {5,6,7,8};
int arr2[1][4] = {{9,0,1,2}};
А как arr2 записать в конец arr1?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
16.03.2020, 21:12
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
А для статичных это как будет выглядеть?
Что именно?
0
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
16.03.2020, 21:31  [ТС]
oleg-m1973, просто конкретный пример. Есть массив arr1 и к нему приклеить arr2.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
16.03.2020, 21:33
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
oleg-m1973, просто конкретный пример. Есть массив arr1 и к нему приклеить arr2.
Никак. Это же статические массивы, к ним ты ничего не приклеишь. И у них совсем другая структура.
0
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
16.03.2020, 21:38  [ТС]
oleg-m1973, а можно с динамическим массивом рабочий пример...
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
16.03.2020, 21:42
Цитата Сообщение от Andy_Coldfield Посмотреть сообщение
oleg-m1973, а можно с динамическим массивом рабочий пример...
Так у тебя ж вроде и было с динамическими массивами
0
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
16.03.2020, 21:46  [ТС]
oleg-m1973, я просто конкретный пример, если можно))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.03.2020, 21:46
Помогаю со студенческими работами здесь

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

Выделение динамической памяти C++
Всем доброго времени суток. Вот столкнулся с проблемой и пока что не приходит ничего интересного по поводу её решения. есть у меня метод,...

выделение динамической памяти
помогите пожалуйста , нужно написать функцию для ввода новой матрицы, не получается выделить под него память. класс: mymatrix ::...

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

Выделение динамической памяти
Всем доброго времени суток. Прошу помочь с задачей. Задача решена, просто нужно переделать её с выделением динамической памяти. ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru