![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
realloc не будет "раскидывать" по памяти.
Если впереди старого массива будет достаточно свободной памяти - блок просто расширится. Если нет - он просто перенесется в другое место, где есть достаточный кусок незанятой памяти, а старый блок освободится. |
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 03.04.2013
Сообщений: 167
|
![]()
до слова exit вводятся элементы массива
Код:
Списки надо.При вставке элемента,его надо выделить и поменять пару значений указателей .Никаких супер-пупер выделений огромных кусков не происходит Последний раз редактировалось alekopoko; 20.04.2014 в 17:57. |
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 22.02.2009
Сообщений: 65
|
![]()
писал контрольную. для создания двухмерного массива и заполнения его данными создавал массив по заранее введеными его размерами. помоему динамический массив называется.
// создаем размер нового массива int **array = new int* [M.y]; for(y1=0;y1<M.y;y1++) array[y1]=new int [M.x]; array[M.y][M.x]; [M.y][M.x] размеры матрицы из конструктора |
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]() |
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 11.04.2014
Сообщений: 21
|
![]()
Всегда интересовал вопрос, зачем нужны двумерные массивы (особенно, динамические)? Одномерный же быстрее обрабатывается. А писать m[i*n+j] вместо m[i][j] - не такая уж проблема...
|
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 11.04.2014
Сообщений: 21
|
![]()
Кстати, да. Но на перенос тоже будет время затрачено. И не факт что найдётся нужного размера блок памяти. А через указатели, можно хоть всю оперативку забить...
|
![]() |
![]() |
![]() |
#17 | ||
Форумчанин
Регистрация: 03.04.2013
Сообщений: 167
|
![]() Цитата:
вот тут и пригодится двумерный массив - char a[строки][столбцы] ну еще пример : задачки с матрицами тоже решают с помощью двумерного массива Цитата:
и благодаря этому массивы стали расширяемыеми данными . А так то они статические у которых определенный фиксированный неизменяемый размер. ну опять же повторюсь, если надо часто добавлять или удалять данные,то расширяемый массив не подходит.Деревья, списки лучше. |
||
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 11.04.2014
Сообщений: 21
|
![]()
Так твою задачу можно решить в одномерном массиве. А твой двумерный при выделении памяти в цикле будет раскидан по всей оперативке. И если у тебя массив 100 на 100, то ты, конечно, ничего не заметишь. Другое дело, когда 1000 на 1000 000, например.
|
![]() |
![]() |
![]() |
#19 | |
Форумчанин
Регистрация: 03.04.2013
Сообщений: 167
|
![]() Цитата:
пример реализации двумерного массива карточная игра как представить карты? есть два определения карты - масть и номинал(цифра) эти данные идеально представляются в виде таблицы - где заголовки строк номиналы ,а столбцы - масти или наоборот |
|
![]() |
![]() |
![]() |
#20 | |
Пользователь
Регистрация: 11.04.2014
Сообщений: 21
|
![]() Цитата:
Код:
Код:
Не? |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввести число N. Вывести N строк с номером строки, двоеточием и набором чисел от 1 до N+1-k (где k-номер строки) ( в С ) | Eduard12345 | Помощь студентам | 1 | 11.10.2013 07:25 |
заранее не известно количество аргументов | SAMOUCHKA | Общие вопросы C/C++ | 7 | 18.05.2013 23:35 |
Найти сумму элементов матрицы и подсчитать число ее строк, в пределах каждой из которых элементы упорядочены по возрастанию:Ai1<Ai | Renc | Visual C++ | 0 | 12.04.2013 13:59 |
Дан массив размерности, определить номера строк элементы которых образуют последовательность С++ | Lera | Помощь студентам | 2 | 18.12.2009 17:17 |
Ввести натуральное число N . Вывести треугольник, содержащий N строк вида | Arei15 | Помощь студентам | 2 | 31.10.2009 23:41 |