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

Динамический двухмерный массив (создать матрицу)

10.10.2013, 16:22. Показов 1576. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Меня немного клинит, хочу уточнить.
Задача заключается в том, чтобы создать двухмерный массив: матрицу размером 4 на 7 (4 строки, 7 столбцов). И записать в нее что-нибудь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//так я создаю матрицу
int m = 4; // кол-во строк
int n = 7;  // кол-во столбцов
int **Array;
Array = new int*[m];
int i;
for (i = 0; i < m; i++)
{
    Array[i] = new int[n];
}
 
// так я ее заполняю
    for (i = 0; i < m; i++)
     {
        for (j = 0; j < n; j++)
        {
// главный вопрос здесь! Действительно ли первая квадратная
// скобка отвечает за строку, а вторая - за столбец???
            Array[i][j] = rand();
        }
 
    }
 
 
// так я ее удаляю
for (int i = 0; i < m; i++)
    delete[]Array[i];
 
delete[]Array;
Все ли я правильно делаю?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.10.2013, 16:22
Ответы с готовыми решениями:

Создать двухмерный динамический массив строк
Ввести 2-мерный массив. Количество строк и столбцов заранее неизвестно. Признаком конца ввода строки - ввод указанной пользователем...

Не могу создать нормальный двухмерный динамический массив
Были да жили хорошо статические массивы размерностью 255х255: #define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include...

Создать двухмерный динамический массив в котором размер строк случайное число
Пользователь вводит количество строк двумерного динамического массива. Программа создаёт этот массив, при этом размер строк в этом...

7
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,646
Записей в блоге: 6
10.10.2013, 16:26
Зачем вам указатель на указатель? Выделите место для всей матрицы посредством одного указателя:
C++
1
int*  Array = new int[m*n];
И обращайтесь к нему так:
C++
1
Array + i * n + j
i, j индексы вашего массива.
0
 Аватар для newb_programmer
238 / 238 / 113
Регистрация: 03.09.2011
Сообщений: 558
10.10.2013, 16:32
znseday, да вы все правильно делаете! не делайте так как описано в посте №2!
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,646
Записей в блоге: 6
10.10.2013, 16:47
Цитата Сообщение от newb_programmer Посмотреть сообщение
znseday, да вы все правильно делаете! не делайте так как описано в посте №2!
Эмм... я не гордый поясните пожайлуста почему.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
10.10.2013, 17:12
Цитата Сообщение от Ilot Посмотреть сообщение
Эмм... я не гордый поясните пожайлуста почему.
Видимо потому, что ему нужен динамический двумерный массив. Можно конечно и так как вы сказали, но к чему ему так извращаться если у него уже есть готовая программа?
0
18 / 18 / 7
Регистрация: 20.03.2012
Сообщений: 585
10.10.2013, 21:17  [ТС]
Хорошо, раз у меня у все правильно)
Я боюсь, разве что перепутать строки со столбцами. Мне кто-то когда-то очень давно говорил, что нужно индксы в скобках в обратном порядке писать. Но по-моему, у меня правильно...
C++
1
2
3
// главный вопрос здесь! Действительно ли первая квадратная
// скобка отвечает за строку, а вторая - за столбец???
            Array[i][j] = rand();
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
10.10.2013, 21:25
В обратном порядке это если сравнивать с декартовой системой координат, обычно идет x (столбец), затем y (строка), тут наоборот: сначала строка, потом столбец.
0
18 / 18 / 7
Регистрация: 20.03.2012
Сообщений: 585
10.10.2013, 22:14  [ТС]
Я это к тому, чтобы за рамки массива случайно не выйти...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.10.2013, 22:14
Помогаю со студенческими работами здесь

Создать класс Matrix, реализующий двухмерный динамический массив типа int
Здравствуйте! Задание: Создать класс Matrix, реализующий двухмерный динамический массив типа int. Конструктор должен заполнять массив...

Двухмерный динамический массив. Создать "рваный массив"
Создать &quot;рваный массив&quot;: а)убывающий ***** **** ** * б)возрастающий *

Динамический двухмерный массив
ИМХО директива include предназначена для включения документа в тело JSP НА ЭТАПЕ ТРАНСЛЯЦИИ JSP В СЕРВЛЕТ , а не во время выполнения ,...

двухмерный динамический массив
задание было такое: Найти количество отрицательных и положительных элементов массива. Массив в памяти разместить динамически (с...

Двухмерный динамический массив
a=new int* for(int i=0;i&lt;m;i++) a=new int; Вот создание двухмерного динамического массива.Начеркал небольшой рисунок с...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru