Возврат многомерного массива в C++
Имеются две функции - одна определяет размеры массива, друга - его содержимое. Я хочу передать полученный результат в другую функцию, но не могу понять, как это сделать.
int borders(int x[2]) {
int n, m;
cin>>n;
cin>>m;
if (n > 10 | m > 10) {
cout<<"n and m must be <= 10"<<endl;
exit(1);
}
else
x[0] = n;
x[1] = m;
return *x;
}
int input(int x[2]) {
int sum = 0, n, m;
borders(x);
cout<<x[0]<<endl<<x[1]<<endl;
n = x[0];
m = x[1];
int a[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin>>a[i][j];
cout << a[i][j] << "\n";
}
}
return a; //error!
}
Ответы (1 шт):
Автор решения: TheRyuTeam
→ Ссылка
int** input(int x[2])
И
a = new int*[n];
for (int i = 0; i < n; ++i)
a[i] = new int[m];
А ещё лучше просто использовать std:: vector