|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.11.2011, 18:44 | #1 |
Форумчанин
Регистрация: 16.09.2011
Сообщений: 114
|
Создание двумерного массива в С++
Привет всем, кто смотрит эту тему!
Пробежал быстренько поиском форум - не нашел что хотел (может плохо искал). У меня такая проблема: нужно создать матрицу размера N*N; размерность вводится пользователем; матрица должна лежать в смежных участках памяти (т.е. как бы последовательно). Теперь собственно вопрос: как выделить под такую матрицу память? Если выделить массив указателей, а потом под каждую строку выделять память в цикле, то есть вероятность того, что строки матрицы будут разбросаны в памяти(если я все правильно понимаю), а мне нужно, чтобы матрица лежала как я сказал выше.Может я не правильно представляю себе размещение динамического массива в памяти? P.S. спасибо всем, кто попытается помочь. |
08.11.2011, 19:46 | #2 | |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Цитата:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
|
08.11.2011, 19:53 | #3 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Ну, можно выделить память под линейный массив N*N, а затем просто правильно рассчитывать индексы.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
09.11.2011, 12:24 | #4 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Syuf
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
09.11.2011, 14:30 | #5 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
JuniorProger
матрица должна лежать в смежных участках памяти (т.е. как бы последовательно). для этого необходимо выделить непрерывный участок памяти размером N * N * sizeof(тип элемента) + N * sizeof(указатель на элемент), после чего скорректировать значения указателей m[0]...m[N-1]
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
15.02.2012, 17:20 | #6 |
Форумчанин
Регистрация: 16.09.2011
Сообщений: 114
|
Всем спасибо! Закрывайте.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод двумерного массива | Kocapb | Общие вопросы C/C++ | 4 | 11.10.2012 11:05 |
Обработка двумерного массива | Happy001 | Помощь студентам | 1 | 04.03.2011 16:24 |
заполнения двумерного массива С++ | Caнёk | Помощь студентам | 10 | 26.10.2010 17:24 |
[Delphi] создание и обработка двумерного массива | screep | Помощь студентам | 5 | 16.06.2008 19:27 |