#include double** dyn_2d(int m, int n) { double* arr = new double[m*n]; double** a = new double*[m]; for ( int i=0 ; i < m ; i++ ) { a[i] = arr + i*n; for (int j=0 ; j < n ; j++ ) a[i][j] = 0.0; } return(a); } void dyn_2d(double** a) { delete [] *a; // free data cells delete [] a; // free pointers cells } int main() { double** mya = dyn_2d(3,5); for ( int i=0 ; i < 3 ; i++ ) { for (int j=0 ; j < 5 ; j++ ) { mya[i][j] = 1.0/(i*5+j+1); cout << mya[i][j] << " "; } cout << endl; } dyn_2d(mya); return(0); }