C++2D阵列读取

C++ 2D array reading

本文关键字:读取 阵列 C++2D      更新时间:2023-10-16

我需要一些帮助。我需要制作一个模块化程序。但我有点麻烦。所以,我需要读取一个2D数组,但用户定义了行和列。阅读后,我需要在另一个函数中进行一些计算。。。但我写不好一个有效的函数。。。我试过用指针。。。但我不能很好地使用。我是初学者。

//main
int a[2500]; //symbolic. n<=50 -in my case
int n;
reading (a*,n);
//reading function
void reading(int* array[], int &n)
{
    cout << "n=<<;
    cin >> n;
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n ;j++) {
            cin >> array[i][j];
        }
    }
}

请帮帮我。

此代码存在许多问题。最引人注目的是C++!=Python,所以你必须把主要代码放在这样的函数中:

int main() {
//Main code here, calling other functions etc
reading (&a,n);
return 0; //or return 1 to signal there has been an error
}

从那里,您可以处理您的代码。模块化设计的好处在于,您可以调试它的各个部分,并确保每个部分都能正常工作。使用调试器,如果你在做了一些研究后仍然停滞不前,可以在SO上提出一个问题。

我得到了一个正确的解决方案;)

 //main
int **matrix, n;
matrixread(matrix,n);

//matrixread 
void matrixread(int** &matrix, int &m)
{
cin >> m;
matrix = new int*[m];
for (i = 0; i < m; i++)
{
    matrix[i] = new int[m];
}
for (i = 0; i < m; i++)
{
    for (j = 0; j < m; j++)
    {
        cout << "matrix[" << i << "," << j << "]= " ;
        cin >> matrix[i][j];
    }
}