|
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 57
|
|
В динамический массив добавить или удалить строку/столбец08.04.2019, 20:17. Показов 1713. Ответов 10
Метки нет (Все метки)
Здравствуйте, подскажите пожалуйста как в с++ в динамический массив добавить или удалить строке/столбец?
Допустим у меня уже есть массив 3х3, а я хочу удалить строку и добавить столбец, получив 2х5. Буду блпгодарен за подсказку, а то в интернете не найду.
0
|
|
| 08.04.2019, 20:17 | |
|
Ответы с готовыми решениями:
10
Добавить строку в динамический массив Как добавить строку в динамический массив? |
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 08.04.2019, 20:23 | |
|
artemor3228, Наверное, самое разумное - создать новый массив, переписать туда, что нужно, из старого, а старый затем уничтожить.
В чистом Си есть такая функция - realloc, она кое-что делает как бы автоматом, но лучше взять все в свои руки.
1
|
|
|
"C with Classes"
|
|
| 08.04.2019, 20:39 | |
|
1
|
|
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||
| 08.04.2019, 20:57 | ||
|
Но, делать реаллок для маленького кол-ва элементов менее выгодно нежели для большого.
0
|
||
|
"C with Classes"
|
||
| 08.04.2019, 21:01 | ||
|
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 09.04.2019, 10:03 | ||
![]() Добавлено через 4 минуты а советую я взять все в свое руки просто потому, что для двумерного массива тут получается множественное реаллочивание. В котором а) не трудно и запутаться б) Может получиться неоправданное дробление выделенной памяти. И вообще есть еще путь представления многомерного массивов в виде линейного, и он иногда (часто) бывает хорош.
0
|
||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|
| 09.04.2019, 10:09 | |
|
Байт, я вот считаю, что классическое выделение как бы двумерного массива через массив указателей слишком дорого и слишком в стиле Java. Выделять надо одним блоком, просто M * N размером, с пересчетом индексов.
Вот например надо выделить массив размером 256 * 256, если делать так как всех учат получается это очень затратно.
1
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 09.04.2019, 10:18 | ||
|
А когда работать приходится с массивами большего число измерений, так просто - беда. Но дело даже не только и не столько в этом. Когда приходится работать с массивами, заранее неизвестного числа измерений, тогда просто без представления в виде линейного не обойтись! (во всяком случае, я не знаю, как)
0
|
||
|
"C with Classes"
|
|
| 09.04.2019, 10:23 | |
|
Байт, когда больше шансов встретить bad_alloc при новом выделении в пустое место кучи или при добавлении в конец уже выделенного?
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 09.04.2019, 10:29 | ||
|
0
|
||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||
| 09.04.2019, 10:48 | |||
|
Байт, мы же живем в мире с++, можно один раз описать свой класс который бы потом делал все за нас и так как мы хотим, и что б индексы за нас считал )))
_stanislav, realloc не кидает bad_alloc Добавлено через 13 минут Тогда при очень больших выделениях мы легко можем столкнуться с проблемами фрагментации памяти: скажем, в куче может остаться, 500 МБ памяти, но она разбита на куски по 100 МБ (или еще хуже, если будет разбита на куски меньше), вот тогда то мы и не сможем выделить один блок на 300-400 МБ. На самом деле это проблема того что я писал выше:
0
|
|||
| 09.04.2019, 10:48 | |
|
Помогаю со студенческими работами здесь
11
Дан динамический массив.Нужно удалить из него все простые числа и добавить оставшееся в новый массив Добавить новую строку в двумерный динамический массив
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
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
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|