В C++ двумерные массивы обычно объявляются как массив массивов или как одномерный массив, но используется формула для преобразования двумерных индексов в одномерный индекс.
1. Массив массивов:
int main() { const int rows = 3; const int cols = 3; int matrix[rows][cols] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; return 0; }
2. Одномерный массив:
int main() { const int rows = 3; const int cols = 3; int matrix[rows * cols] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; return 0; }
Чтобы вернуть двумерный массив из функции, вы можете использовать указатель на массив или возвращать указатель на начало одномерного массива. Например:
int (*returnMatrix())[cols] { static int matrix[rows][cols] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; return matrix; } int main() { const int rows = 3; const int cols = 3; int (*result)[cols] = returnMatrix(); // Доступ к элементам: for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { std::cout << result[i][j] << " "; } std::cout << std::endl; } return 0; }
В этом примере функция returnMatrix()
возвращает указатель на массив трех элементов, где каждый элемент является массивом из трех элементов. В функции main()
возвращенный двумерный массив используется для вывода его элементов на экран.
Надеюсь, что эта информация поможет вам вернуть двумерный массив в C++!