как заполнить матрицу из консоли c++
как правильно заполнить матрицу из консоли используя push_back, есть необходимость переписать код заполнения матрицы из такого:
cout << "Введите коэффициенты и свободные векторы:";
for (int i = 0; i < CountElement; i++) {
for (int j = 0; j < CountElement; j++) {
cout << "Неизвестные коэфф" << i << j << " : ";
cin >> matrix[i][j];
}
cout << "Вектор" << i << " : ";
cin >> freeVars[i];
}
в такой, в таком варианте возможно добавлять бесконечное количество элементов что очень плохо, не понимаю в чем ошибка:
std::cout << "Введите размерность матрицы:" << endl;
std::cin >> ElemRows;
ElemCols = ElemRows;
double FreeItems;
std::vector<std::vector<double>> Matrix(ElemRows, std::vector<double>(ElemCols));
for(std::vector<std::vector<double>>::iterator Row = Matrix.begin(); Row != Matrix.end(); Row++) {
int tmp;
std::vector<double> e;
for(std::vector<double>::iterator Elem = Row->begin(); Elem != Row->end(); Elem++) {
std::cout << "Введите коэффициенты и свободные члены" << endl;
std::cin >> tmp;
e.push_back(tmp);
}
std::cout << "Свободные члены" << endl;
std::cin >> FreeItems;
Matrix.push_back(e);
}```
Как правильно заполнить матрицу из консоли, а также добавить как в первом примере вектора используя push_back и vector?