Why bothering about memory management when the standard library provides the
vector
class?
#include<iostream>
#include <vector>
using namespace std;
void read_all( vector < vector < int > > & v)
{
for (size_t r = 0; r < v.size(); ++r)
for (size_t c = 0; c < v[r].size(); ++c)
{
cout << "please enter item [" << (r+1) << "][" << (c+1) << "]: ";
cin >> v[r][c];
}
}
int main()
{
size_t rows, cols;
cout << "please enter the number of rows: ";
cin >> rows;
cout << "now enter the number of columns: ";
cin >> cols;
vector < vector <int> > v(rows);
for (size_t r = 0; r < rows; ++r)
v[r] = vector<int>(cols);
read_all(v);
for (const auto & vr : v)
{
for (const auto & x : vr)
cout << x << " ";
cout << "\n";
}
}