K массивов, порядка m×n

178
17 апреля 2018, 04:30

Здравствуйте, скажите пожалуйста, как обращаться к элементу массива - матрице номер k размером m×n, например? к 3 элементу, 5 строки, 2 матрицы?
Память выделяю таким образом:

*buffer = (int*)malloc(((m*n)*sizeof(int))*k);
Answer 1

Если считать от 0 - т.е. реально 2 матрица - это третья (нулевая, первая, вторая...) - то

buffer[2*n*m+5*n+3]
Answer 2

В C99 можно сделать так:

typedef int my_matrix_t[m][n];
my_matrix_t *matrp = malloc ( ((m*n)*sizeof(int))*matr_count );
for (size_t k=0; k<matr_count; ++k) { // цикл по матрицам
  for (size_t i=0; i<m; ++i) {        // цикл по строкам
    for (size_t j=0; j<n; ++j) {      // цикл по ячейкам
       // какие-то действия
       matrp[k][i][j] = k;
    }
  }
}
READ ALSO
Вызов перегруженного индексатора

Вызов перегруженного индексатора

Итак, у меня есть класс-родитель:

163
Ошибка &ldquo;Undefined reference to&rdquo; подключённой (!) функции

Ошибка “Undefined reference to” подключённой (!) функции

В общем, создал заголовочный иcpp файлы

169
Сортировка строк двумерного массива

Сортировка строк двумерного массива

Вечер добрый! Есть двумерный массив, в котором содержится n-ое количество строкКаждая строка представляет собой последовательность нулей...

179