Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 14.02.2012
Сообщений: 4

Выделение памяти под двумерный массив С++

21.06.2013, 22:59. Показов 3208. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Гуру С++, подскажите новичку, как обратиться к элементу при следующем выделении памяти?
1)double **matr = new double *[row]
2)double *matr = new double [row*n]
В первом случае вроде бы так: *(*(matr+i)+j), а как во втором?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.06.2013, 22:59
Ответы с готовыми решениями:

Выделение памяти под двумерный массив
Доброе время ! Проблема такая : препод задал задачу сортировки массива произвольного типа(char* int* или double*) и сказал, чтобы любой тип...

Выделение памяти под двумерный массив
Нужна прога на с++,в которой бы выделялась память для двумерного массива N строк такого вида,как на рисунке>>> За ранее спасибо:)

Динамическое выделение памяти под двумерный массив
Здравствуйте. Как мне правильно и грамотно (!) выделять память под двумерные массивы? Откуда возникла необходимость — хотел сделать...

5
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
21.06.2013, 23:04
Цитата Сообщение от Александр918 Посмотреть сообщение
В первом случае вроде бы так: *(*(matr+i)+j), а как во втором?
а нормальные пути тебе уже не нравятся
1 matr[i][j]
2 mart[i*row+j]
1
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
21.06.2013, 23:05
C++
1
2
3
4
5
6
double **mass = new double [row]; // захват памяти под row столбцов
 
for (int i  = 0; i < row; i++)
{
   *(mass + i) = new double [col];  // захват памяти под каждую строку
}
дальше в коде например можно как mass[i][j] или *(*(mass + i) + j)

В вашем втором случае вы только захватите память под первую строку матрицы размером row * n
1
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
21.06.2013, 23:45
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
В вашем втором случае вы только захватите память под первую строку матрицы размером row * n
это называется квазидвумерный массив
0
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
21.06.2013, 23:56
@ValeryS, Не совсем понял, это как?)
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
22.06.2013, 00:19
ну например тебе нужно выделить память под такой массив
123
456
789
выделяешь как под одномерный
C++
1
2
3
4
5
int * arr=new int[3*3]
// и обращаешься так
for(int i=0;i<3;i++)
 for(int j=0;j<3;j++)
   arr[i*3+j] =i*3+j+1;
в памяти будет выделен один блок на 9 int
123456789
а не три блока по три int плюс еще блок на 3 указателя
данные лежат рядом как в статическом массиве
экономится память
недостаток
обращаться к членом массива не совсем удобно
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2013, 00:19
Помогаю со студенческими работами здесь

Динамическое выделение памяти под двумерный массив
Нужно написать программу, динамически выделяем память под двумерный массив, функции ввода-вывода, функцию, которая будет складывать 2...

Динамическое выделение памяти под двумерный массив
1) Ввести построчно элементы двумерного массива чисел. Количество столбцов задается. Количество строк (не менее 1) равно максимальному по...

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

Правильно ли в приведенном примере реализовано выделение и очищение памяти под двумерный вектор
Скажите правильно ли я выделяю и очищаю память под двухмерный вектор class A { private: std::vector&lt;...

Двумерный Массив,динамическое выделение памяти-ошибка
Здравствуйте! Не могу найти ошибку в программе, некорректно работает именно с динамическим выделением памяти, со статическим все правильно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru