Как динамическую двумерную матрицу сделать аргументом подфункции?
Для решения задачи, как я понял мне надо передать функции аргумент в виде двумерной матрицы, но сама матрица у меня динамическая и я не могу ее сделать аргументом, так как если использовать двумерную матрицу в виде аргумента, тот она должна иметь левое значение константное (которого у меня нет). Сама задача звучит так: Дана двумерная динамическая матрица n*n чисел, матрица заполняется рандомными числами от -20 до 20,вывести вторую матрицу содержащую в себе 2 строки, 1-я строка это четные элементы основной матрицы, 2-я это нечетные элементы основной матрицы. Вывод оформить в виде подпрограммы-функции. Основной код я представил ниже
#include <iostream>
#include <random>
using namespace std;
int n=0;
int count1 = 0;
int count2 = 0;
void main()
{
setlocale(LC_ALL, "Rus");
cout << "введите размер матрицы ";
cin >> n;
int** mas=new int*[n];
cout << "Первая матрица";
for (int i = 0; i < n; i++) {
mas[i] = new int[n];
for (int j = 0; j < n; j++) {
mas[i][j] = rand() % 41 + (-20);
cout << mas[i][j] << " ";
}
cout << "\n";
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (mas[i][j] % 2 == 0) {
count1 += 1;
}
else count2 += 1;
}
}
}
count1 и count2 нужны для подсчета размера четной и нечетной строки. Проблема с выводом и самой подпрограммой, у меня не получается подать аргумент в функцию. Можно ли как то сделать такую матрицу аргументом подпрограммы функции? И если это все же возможно, то как организовать вывод уже второй матрицы? И надо ли освобождать память под массив после всех операций?