Методы возврата двумерного массива из функции в C++

Чтобы вернуть двумерный массив из функции в C++, у вас есть несколько вариантов. Вот несколько методов, которые вы можете использовать:

  1. Использование необработанного указателя:
    • Объявите функцию с желаемым типом возвращаемого значения, который является указателем на указатель (т. е. int).
    • Динамически выделяйте память для 2D-массива с помощью ключевого слова new.
    • Заполните массив значениями.
    • Вернуть массив из функции.

Пример:

int return2DArray(int rows, int cols) {
    int arr = new int*[rows];
    for (int i = 0; i < rows; i++) {
        arr[i] = new int[cols];
    }
// Populate the array with values
    // ...
    return arr;
}
  1. Использование 2D-вектора:
    • Объявите функцию с возвращаемым типом как вектор векторов (т. е. vector>).
    • Создайте двухмерный вектор и заполните его значениями.
    • Вернуть вектор из функции.

Пример:

vector<vector<int>> return2DArray(int rows, int cols) {
    vector<vector<int>> arr(rows, vector<int>(cols));
    // Populate the array with values
    // ...
    return arr;
}
  1. Использование структуры:
    • Определите структуру, содержащую двумерный массив и его размеры.
    • Объявите функцию с возвращаемым типом в качестве структуры.
    • Заполните массив значениями и верните структуру из функции.

Пример:

struct Array2D {
    int arr;
    int rows;
    int cols;
};
Array2D return2DArray(int rows, int cols) {
    Array2D result;
    result.arr = new int*[rows];
    for (int i = 0; i < rows; i++) {
        result.arr[i] = new int[cols];
    }
    result.rows = rows;
    result.cols = cols;
    // Populate the array with values
    // ...
    return result;
}

Это всего лишь несколько методов возврата двумерного массива из функции в C++. Выберите тот, который соответствует вашим потребностям, исходя из ваших конкретных требований.