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

Использовать в качестве контейнера для хранения данных динамические массивы - C++

Восстановить пароль Регистрация
 
sobykey
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 18
31.10.2012, 23:32     Использовать в качестве контейнера для хранения данных динамические массивы #1
Задача состоит в том, чтобы разработать программу, используя в качестве контейнера для хранения данных динамические массивы.
В прошлой задаче, которую решал, была структура work
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
struct work //объявление структуры и ее переменных
{
    int n;
    char name[9];
    int q[h];
    int timeFree;
    float p;
};

В обычной задаче делал обычное объявление двумерного массива
C++
1
work work1[3][5];
Теперь поставили задачу, используя условие предыдущей, использовать в качестве контейнера для хранения данных динамические массивы. Как мне это реализовать?
Пробовал инициализировать так
C++
1
work* work1 = new work[3][5];
Компилятор ругается на конвертирование типов. Попробовал так
C++
1
work* work1 = reinterpret_cast <work*>(new work[d][r]);
Опять ошибка, уже другая.
Как правильно работать с такими массивами?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 23:32     Использовать в качестве контейнера для хранения данных динамические массивы
Посмотрите здесь:

C++ Преобразуйте массив (Использовать динамические массивы.)
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад C++
Создать класс, содержащий поля, которые можно использовать для хранения данных C++
C++ Считывание данных из файла и запись в динамические массивы
C++ Динамические массивы для структур данных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
31.10.2012, 23:40     Использовать в качестве контейнера для хранения данных динамические массивы #2
C++
1
2
3
4
work** work1; 
work1 = new work*[3]; 
for ( int i = 0; i < 3; i++) 
      work1[i] = new work[5];
sobykey
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 18
31.10.2012, 23:46  [ТС]     Использовать в качестве контейнера для хранения данных динамические массивы #3
David Sylva, спасибо
А что означает два символа **?
И как работать с этим массивом? К примеру, присвоить
C++
1
work1[0][0].n = 2;
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
31.10.2012, 23:49     Использовать в качестве контейнера для хранения данных динамические массивы #4
** указатель на указатель, работать так же как и с обычным массивом int matrix[0][0] = 0;
sobykey
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 18
31.10.2012, 23:54  [ТС]     Использовать в качестве контейнера для хранения данных динамические массивы #5
Цитата Сообщение от David Sylva Посмотреть сообщение
** указатель на указатель, работать так же как и с обычным массивом int matrix[0][0] = 0;
Спасибо, буду пробовать)
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
31.10.2012, 23:57     Использовать в качестве контейнера для хранения данных динамические массивы #6
Цитата Сообщение от David Sylva Посмотреть сообщение
C++
1
2
3
4
work** work1; 
work1 = new work*[3]; 
for ( int i = 0; i < 3; i++) 
      work1[i] = new work[5];
а по мне так лучше

C++
1
2
3
4
5
work** work1; 
work1   = new work*[3];
*work1 = new work[15];
for ( int i = 1; i < 3; i++) 
   work1[i] = work1[0]+i*5;
Yandex
Объявления
31.10.2012, 23:57     Использовать в качестве контейнера для хранения данных динамические массивы
Ответ Создать тему
Опции темы

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