Я до сих пор мог использовать 1-й вектор, добавляя или удаляя элементы с помощью push/pop back. Однако при попытке заполнить 2-й вектор, который должен представлять матрицу, я сталкиваюсь с проблемами. Я не смог использовать эти функции с моим 2-d вектором. Когда код компилируется и запускается, я получаю бит, запрашивающий измерение, а затем запрашивает первый элемент [1,1], для любого введенного значения получается «Ошибка сегментации: сбрасывание ядра». Я понятия не имею, что происходит, и пытался изменить биты моего кода, но не имел большого успеха, интернет также был бесполезен в предоставлении простого руководства о том, как заполнить эти проклятые вещи ... Спасибо так много!Как добавить элементы в двумерный динамический вектор
Вот мой код
#include <iostream>
#include <vector>
using namespace std;
vector<vector<double> > readMatrix();
int main()
{
vector<vector<double> > matrix1 = readMatrix();
vector<vector<double> > matrix2 = readMatrix();
}
vector<vector<double> > readMatrix()
{
cout << "Entering a matrix" << endl;
cout << "Number of Lines : ";
int numberOfLines;
cin >> numberOfLines;
cout << "Number of Columns :";
int numberOfColumns;
cin >> numberOfColumns;
vector<vector<double> > matrix;
int i(0);
int j(0);
while(i<=numberOfLines && j<=numberOfColumns)
{
cout << "[" << i+1 << "," << j+1 << "] =" ;
int value;
cin >> value;
matrix[i].push_back(value);
cout << endl ;
j++;
if(j==numberOfColumns)
{
j=1;
i++;
}
}
return matrix;
}
Должно быть, у вас нет s.th. как 'matrix [i] [j] = value;' –
@ g-makulik, который работал бы, если бы это была трехмерная матрица, вопрос касается 2D-матрицы. –
Вектор векторов - это просто вектор. Так что заполните его, как если бы вы сделали 1D-вектор. За исключением положительных векторов в нем. – juanchopanza