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

Как реализовать двумерный динамический массив? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
beta-particle
 Аватар для beta-particle
4 / 4 / 0
Регистрация: 07.01.2013
Сообщений: 103
18.06.2013, 01:02     Как реализовать двумерный динамический массив? #1
Доброго дня суток, форумчане! Подскажите пожалуйста, как реализовать двумерный динамический массив?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2013, 01:02     Как реализовать двумерный динамический массив?
Посмотрите здесь:

Как создать двумерный динамический массив C++
C++ Как создать динамический двумерный массив с использованием функции malloc?
C++ Как правильно записать двумерный динамический массив?
C++ Реализовать двумерный динамический треугольный массив. Количество строк и сами элементы вводит пользователь. Количество элементов в строке рассчитывае
Как заполнить двумерный динамический массив? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,052
18.06.2013, 01:47     Как реализовать двумерный динамический массив? #21
Dani,
так это std:шка
ну так там много чего добавлено
например динамический массив под названием вектор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
18.06.2013, 01:48     Как реализовать двумерный динамический массив? #22
В фортране просто подключать по ходу ничего не нужно.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,052
18.06.2013, 01:52     Как реализовать двумерный динамический массив? #23
Цитата Сообщение от Dani Посмотреть сообщение
В фортране просто подключать по ходу ничего не нужно.
ну да
и вектор с арраей это уже действительно массивы со своими методами
я та речь вел что нельзя через new выделить двумерный массив
или квази или массив массивов
beta-particle
 Аватар для beta-particle
4 / 4 / 0
Регистрация: 07.01.2013
Сообщений: 103
18.06.2013, 01:53  [ТС]     Как реализовать двумерный динамический массив? #24
У меня вышло дописать программу. Как вам?
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
#include<iostream>
#include <iomanip>
 
using namespace std;
 
int main(){
    int rows,columns;
    srand(time(0));
 
    cout<< "Enter the number of rows:" << endl;
    cin >> rows;
    cout<< "Enter the number of columns:" << endl;
    cin >> columns;
    int **Mas = new int *[rows];
    for (int i = 0;i < rows;i++)
        Mas[i] = new int [columns];
    for (int i = 0;i < rows;i++)
        for (int j = 0;j < columns;j++ )
            Mas[i][j] = rand() % 10 + 1;// заполняем рандомно
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < columns; j++)
            cout << setw(2) << Mas[i][j] << " "; //вывод массива
     cout << endl;
    }
    return 0;
}
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,052
18.06.2013, 02:05     Как реализовать двумерный динамический массив? #25
beta-particle,
я тут немного не прав
Цитата Сообщение от beta-particle Посмотреть сообщение
int **Mas = new int *[rows];
* * for (int i = 0;i < rows;i++)
* * * * Mas[i] = new int [columns];
это не динамический массив
это динамически выделенный массив
разница в том что если ты поймешь что не хватает колонок то уже ничего не исправишь
придется заново выделять память копировать и удалять первый

если тебе нужен действительно динамический массив (изменение размеров на лету)
то это vector
http://ru.wikipedia.org/wiki/Vector_(C%2B%2B)
http://ru.cppreference.com/w/cpp/container/vector
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
18.06.2013, 02:18     Как реализовать двумерный динамический массив? #26
Цитата Сообщение от beta-particle Посмотреть сообщение
У меня вышло дописать программу. Как вам?
Если сами выделяете динамическую память, надо её самому и освобждать (new -> delete, new[] -> delete[]). А так вообще, как уже писали, лучше использовать умные указатели\контейнеры STL, которые сами позаботятся об управлении памятью.
beta-particle
 Аватар для beta-particle
4 / 4 / 0
Регистрация: 07.01.2013
Сообщений: 103
18.06.2013, 11:08  [ТС]     Как реализовать двумерный динамический массив? #27
gray_fox, Про контейнеры я знаю, просто хотелось самому реализовать динамический двумерный массив. Но все равно спасибо.))

ValeryS, Спасибо, я работал с vector)))
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
18.06.2013, 14:14     Как реализовать двумерный динамический массив? #28
Цитата Сообщение от beta-particle Посмотреть сообщение
просто хотелось самому реализовать динамический двумерный массив
есть книга Страуструпа - Принципы и практика использования С++. Там глав 5 он показывает как самому собрать vector (как создать похожий на тот, который в vector.h). Там и получается динамический и со всеми делами.
beta-particle
 Аватар для beta-particle
4 / 4 / 0
Регистрация: 07.01.2013
Сообщений: 103
18.06.2013, 16:52  [ТС]     Как реализовать двумерный динамический массив? #29
Dani, кстати, да, его я читаю, только, похоже, до этого места я не дошел.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
18.06.2013, 17:01     Как реализовать двумерный динамический массив? #30
Это где-то глава 17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2013, 17:02     Как реализовать двумерный динамический массив?
Еще ссылки по теме:

C++ Как создать двумерный динамический массив (принцип лото)?
Как выделить память под динамический двумерный массив C++
C++ Как сделать двумерный динамический массив на 4 столбца ?

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

Или воспользуйтесь поиском по форуму:
beta-particle
 Аватар для beta-particle
4 / 4 / 0
Регистрация: 07.01.2013
Сообщений: 103
18.06.2013, 17:02  [ТС]     Как реализовать двумерный динамический массив? #31
Dani, ой, далеко еще :-)
Yandex
Объявления
18.06.2013, 17:02     Как реализовать двумерный динамический массив?
Ответ Создать тему
Опции темы

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