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

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

Восстановить пароль Регистрация
 
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 443
10.10.2013, 16:22     Динамический двухмерный массив (создать матрицу) #1
Меня немного клинит, хочу уточнить.
Задача заключается в том, чтобы создать двухмерный массив: матрицу размером 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;
Все ли я правильно делаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 16:22     Динамический двухмерный массив (создать матрицу)
Посмотрите здесь:

динамический двухмерный массив C++
C++ Двухмерный динамический массив
Двухмерный динамический массив C++
C++ Динамический двухмерный массив
Двухмерный динамический массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
10.10.2013, 16:26     Динамический двухмерный массив (создать матрицу) #2
Зачем вам указатель на указатель? Выделите место для всей матрицы посредством одного указателя:
C++
1
int*  Array = new int[m*n];
И обращайтесь к нему так:
C++
1
Array + i * n + j
i, j индексы вашего массива.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
10.10.2013, 16:32     Динамический двухмерный массив (создать матрицу) #3
znseday, да вы все правильно делаете! не делайте так как описано в посте №2!
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
10.10.2013, 16:47     Динамический двухмерный массив (создать матрицу) #4
Цитата Сообщение от newb_programmer Посмотреть сообщение
znseday, да вы все правильно делаете! не делайте так как описано в посте №2!
Эмм... я не гордый поясните пожайлуста почему.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
10.10.2013, 17:12     Динамический двухмерный массив (создать матрицу) #5
Цитата Сообщение от Ilot Посмотреть сообщение
Эмм... я не гордый поясните пожайлуста почему.
Видимо потому, что ему нужен динамический двумерный массив. Можно конечно и так как вы сказали, но к чему ему так извращаться если у него уже есть готовая программа?
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 443
10.10.2013, 21:17  [ТС]     Динамический двухмерный массив (создать матрицу) #6
Хорошо, раз у меня у все правильно)
Я боюсь, разве что перепутать строки со столбцами. Мне кто-то когда-то очень давно говорил, что нужно индксы в скобках в обратном порядке писать. Но по-моему, у меня правильно...
C++
1
2
3
// главный вопрос здесь! Действительно ли первая квадратная
// скобка отвечает за строку, а вторая - за столбец???
            Array[i][j] = rand();
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
10.10.2013, 21:25     Динамический двухмерный массив (создать матрицу) #7
В обратном порядке это если сравнивать с декартовой системой координат, обычно идет x (столбец), затем y (строка), тут наоборот: сначала строка, потом столбец.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 22:14     Динамический двухмерный массив (создать матрицу)
Еще ссылки по теме:

Создать класс Matrix, реализующий двухмерный динамический массив типа int C++
Динамический двухмерный массив C++
C++ Создать двухмерный динамический массив строк

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

Или воспользуйтесь поиском по форуму:
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 443
10.10.2013, 22:14  [ТС]     Динамический двухмерный массив (создать матрицу) #8
Я это к тому, чтобы за рамки массива случайно не выйти...
Yandex
Объявления
10.10.2013, 22:14     Динамический двухмерный массив (создать матрицу)
Ответ Создать тему
Опции темы

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