#include using namespace std; int main (int argc, char** argv) { double **arr; int rowSize; int colSize; int i, j; rowSize = 5; colSize = 7; arr = new double*[colSize]; for (i = 0 ; i < colSize; ++i) arr[i] = new double[rowSize]; for (i = 0; i < colSize; ++i) for (j = 0; j < rowSize; ++j) arr[i][j] = i * 10.0 + j; cout << "Dynamic 2D array as an array of arrays" << endl; for (i = 0; i < colSize; ++i) { for (j = 0; j < rowSize; ++j) cout << arr[i][j] << " "; cout << endl; } cout << endl; double *arr2; rowSize = 6; colSize = 4; arr2 = new double [ colSize * rowSize ]; for (i = 0; i < colSize; ++i) for (j = 0; j < rowSize; ++j) { // cout << i << " " << j << " " << i * rowSize + j << " " << i * 10.0 + j << endl; arr2[i * rowSize + j] = i * 10.0 + j; } cout << "Dynamic 2D array as a Dynamic 1D array in Column Major form" << endl; for (i = 0; i < colSize; ++i) { for (j = 0; j < rowSize; ++j) cout << arr2[i * rowSize + j] << " "; cout << endl; } cout << endl; // deallocation code to prevend memory leaks. delete[] arr2; for (i = 0 ; i < colSize; ++i) delete[] arr[i]; delete [] arr; return 0; }