Выделение памяти для трехмерной матрицы

Как выделить память для трехмерной матрицы с использованием new, delete?

Пробовал вот так:

int main() {
    const int n = 3, m = 2, c = 2;
    int i, j, t;
    int ***g13;
    g13 = new int[n][m][c];
    srand(time(NULL));
    for(i = 0; i < n; i++) {
        for(j = 0; j < m; j++) {
            for(t = 0; t < c; t++) {
                g13[i][j][t] = rand()%100-50;
                cout << g13[i][j][t] << " ";    
            }
        }
    }
    delete [] g13;
    return 0;
}

Ответы (1 шт):

Автор решения: Harry

Типа такого:

int ***g13 = new int**[n];
for(int i = 0; i < n; ++i)
{
    g13[i] = new int*[m];
    for(int j = 0; j < m; ++j)
        g13[i][j] = new int[c];
}

Удалять - в обратном порядке...

→ Ссылка