Our Blog

Выделение памяти под динамическую матрицу и освобождение ее

Данный пример покажет, как правильно выделят память под матрицу n x m и корректно освобождать ее.

int main () {
   int n=0, m=0;
   cin >> n;
   cin >> m;
   int **a=new int*[n]; //выделение памяти под вектор
   fot (int i=0; i<n; i++) a[i]=new int[m]; //выделение памяти под массив векторов, то есть матрицу

   for (int i=0; i<n; i++) {
      for (int j=0; j<m; j++) {
         cin >> a[i][j]; //ввод матрицы
      }
   }

   for (int i=0; i<n; i++) {
      delete [] a[i];
      a[i]=NULL;
   }
   delete [] a;
   a=NULL;
   returrn 0;
}
Comments ( 0 )
    -->