gpt4 book ai didi

c++ - 将具有可变边界的二维数组传递给函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:57:50 24 4
gpt4 key购买 nike

我有一个数组,它的边界由另一个变量(不是常量)定义:

 int max = 10;
int array[max][max];

现在我有一个使用该数组 的函数,但我不知道如何将数组传递给该函数。我该怎么做?

所以为了更清楚,我如何使它工作(我考虑过使用类,但是变量 max 是由用户输入定义的,所以我不能使数组成为成员类的,因为 max 必须是一个常量)

void function (int array[max][max])
{
}

提前致谢。

最佳答案

#include <iostream>    
using namespace std;

int main() {
int** Matrix; //A pointer to pointers to an int.
int rows,columns;
cout << "Enter number of rows: ";
cin >> rows;
cout << "Enter number of columns: ";
cin >> columns;
Matrix = new int*[rows]; //Matrix is now a pointer to an array of 'rows' pointers.

for(int i=0; i<rows; i++) {
Matrix[i] = new int[columns]; //the i place in the array is initialized
for(int j = 0;j<columns;j++) { //the [i][j] element is defined
cout<<"Enter element in row "<<(i+1)<<" and column "<<(j+1)<<": ";
cin>>Matrix[i][j];
}
}
cout << "The matrix you have input is:\n";

for(int i=0; i < rows; i++) {
for(int j=0; j < columns; j++)
cout << Matrix[i][j] << "\t"; //tab between each element
cout << "\n"; //new row
}
for(int i=0; i<rows; i++)
delete[] Matrix[i]; //free up the memory used
}

关于c++ - 将具有可变边界的二维数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15468403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com