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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
#1

Добавить строку в матрицу - C++

06.01.2012, 16:17. Просмотров 1462. Ответов 6
Метки нет (Все метки)

Есть матрица
C++
1
QString** tabl;
, и нужно создавать новые строки по ходу программы, это делается оператором new или push_back? если да то как, подскажите пожалуйста
P.S. может так
C++
1
tabl[last_string+1] = new QString[size]
?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2012, 16:17     Добавить строку в матрицу
Посмотрите здесь:

C++ Програмка на Си...нужно добавить столбец и отсортировать матрицу по добавленному столбцу.
Добавить символ '//' в строку C++
C++ Вставить в матрицу строку из нулей
Добавить строку/столбец в двумерный массив (Матрицу) C++
Добавить в матрицу строку после строки, в которой находится максимальный элемент C++
C++ Добавить строку в файл
C++ Как добавить k столбцов в динамическую матрицу?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1743 / 1086 / 71
Регистрация: 13.09.2011
Сообщений: 3,109
06.01.2012, 16:22     Добавить строку в матрицу #2
Если это Qt(судя по QString), имеет смысл использовать местные контейнеры для этого.
А вообще для выделения памяти под такие конструкции надо сначала выделить массив указателей на объект и уже к ним выделять массивы объектов.
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.01.2012, 16:39     Добавить строку в матрицу #3
1rop, если объявление такое, как Вы написали, ту нужно выделять память с нуля и все копировать. Поищите здесь уже было, перевыделение памяти (В Си есть realloc, в С++ его нет)
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
06.01.2012, 16:39  [ТС]     Добавить строку в матрицу #4
NoMasters, То есть нужно изначально создать массив указателей? но ведь я не знаю сколько их будет
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.01.2012, 16:42     Добавить строку в матрицу #5
Цитата Сообщение от 1rop Посмотреть сообщение
NoMasters, То есть нужно изначально создать массив указателей? но ведь я не знаю сколько их будет
Я уже говорил, каждый раз перевыделять память. Или контейнер используйте, например
C++
1
std::vector
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
06.01.2012, 16:43  [ТС]     Добавить строку в матрицу #6
Цитата Сообщение от go Посмотреть сообщение
1rop, если объявление такое, как Вы написали, ту нужно выделять память с нуля и все копировать. Поищите здесь уже было, перевыделение памяти (В Си есть realloc, в С++ его нет)
А, вот я тоже над таким вариантом думал, он вроде как проще, но там надо создавать для копирования еще одну матрицу, чтобы в нее скопировать что уже есть удалить главную матрицу и снова создать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2012, 16:48     Добавить строку в матрицу
Еще ссылки по теме:

C++ Умножить вектор-строку на матрицу
Записать строку символов в матрицу C++
C++ В матрицу добавить строку, после строки с максимальным элементом
C++ Добавить одномерный массив в заданную матрицу после нулевой строки
C++ В заданную матрицу добавить указанное количество строк, начиная со строки с номером N

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.01.2012, 16:48     Добавить строку в матрицу #7
1rop, копируйте с помощью memcpy

Добавлено через 2 минуты
http://ru.wikipedia.org/wiki/New_(C%...0.B8_new.5B.5D
Yandex
Объявления
06.01.2012, 16:48     Добавить строку в матрицу
Ответ Создать тему
Опции темы

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