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

Двумерный vector в классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для каждой группы чисел найти минимальное, максимальное и среднеарифметическое http://www.cyberforum.ru/cpp-beginners/thread1496673.html
Народ,помогите,нужна ваша помощь в написании кода Очень очень выручите нужен только программный код задание такое сгенерировать файл, случайные целые числа в диапазоне от -100 до 100,...
C++ Необознанность в написании кода Нужна помощь в написании кода. Товарищу требуется этот код,ну у него нету сейчас интернета,поэтому пишу со своего аккаунта. Помогите пожалуйста,требуется только прграммный код задание такое ... http://www.cyberforum.ru/cpp-beginners/thread1496666.html
Ошибка Expression: _BLOCK_TYPE_IS_VALID C++
Всем добрый день. Помогите, пожалуйста, с данной ошибкой. Понял, что удаляю уже удаленный объект, но почему это происходит никак не пойму, отладчиком уже прошелся раз 100. Конструктор копирования...
Debug assertion failed при освобождении памяти C++
Создал массив строк используя new. Весь код выполняется как нужно, но вместо спокойного выхода из программы выскакивает ошибка: "Debug assertion failed! Programm: ...ual Studio...
C++ Список структур "Работник" http://www.cyberforum.ru/cpp-beginners/thread1496645.html
struct Rab { char *name; }; struct List { Rab elem; List *next; };
C++ Трудности на начальной стадии Написал первый программный код "Привет Мир" #include <iostream.h> int main () { cout <<"Hello World!\n" return 0; }Все время пишет такую ошибку:fatal error C1083: Не удается открыть файл... подробнее

Показать сообщение отдельно
0nk0l0g
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 11

Двумерный vector в классе - C++

10.07.2015, 13:50. Просмотров 302. Ответов 3
Метки (Все метки)

Добрый день.

Возникла задача хранить в классе данные в двумерном vector.
Причем, количество строк и столбцов заранее неизвестно. Они считываются из файла.

Задаю двумерный вектор так:

C++
1
std::vector<std::vector<int> > matrix(row);
Но при описании класса мы не можем задавать конкретные значения.
Поэтому описываю класс так:

C++
1
2
3
4
5
6
7
8
class graph{
private:    
    std::vector<std::vector<int> > matrix;
public:
    graph();
    ~graph();
    void fill(); // метод заполнения    
};

Метод заполнения должен выглядеть примерно так:

C++
1
2
3
4
5
6
7
    for(size_t i = 0; i < row; ++i)
    {
        matrix[i].resize(col);
        for(size_t j = 0; j < col; ++j)
            matrix[i][j] = rand() % 666;
    }
// Nameless One реализация
Но этот способ, естественно, работает только, когда мы написали matrix(row), а не просто matrix в объявлении.
По сути, нужно сделать resize для row. Но я совсем не понимаю, как это сделать.
Подскажите, пожалуйста. Или мб есть другие более красивые методы реализации данной задачи?
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru