Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 二维数组,调用函数问题_C++ - Fatal编程技术网

C++ 二维数组,调用函数问题

C++ 二维数组,调用函数问题,c++,C++,我正在做一项任务,我遇到了一些问题,所以请帮助我,你善良的人们:D 我需要创建允许输入学生成绩的函数。在该函数中,我只需要允许6-10(及格分数)的输入。然后,我需要做一个函数来计算学生的最低分数。最后,需要做一个函数来计算每个学生的平均成绩。 PS:也许我的想法是错误的,或者你想做一些不同或更好的事情,请说出来,我想学习。提前谢谢 以下是我的代码和错误: #include <iostream> using namespace std; int input (int [][4],

我正在做一项任务,我遇到了一些问题,所以请帮助我,你善良的人们:D 我需要创建允许输入学生成绩的函数。在该函数中,我只需要允许6-10(及格分数)的输入。然后,我需要做一个函数来计算学生的最低分数。最后,需要做一个函数来计算每个学生的平均成绩。 PS:也许我的想法是错误的,或者你想做一些不同或更好的事情,请说出来,我想学习。提前谢谢

以下是我的代码和错误:

#include <iostream>
using namespace std;

int input (int [][4], int);
int average (int [][4], int);
int min (int [][4], int);
int main ()
{
    const int wdth = 5;
    int matrix[4][4];
    input (matrix [4][4], wdth);
    average (matrix [4][4], wdth);
    min (matrix [4][4], wdth);
return 0;
}
int input (int matrix[][4], int wdth)
{
    for (int i = 0; i < wdth; i ++)
    {
        cout<<"Enter grades for "<<i+1<<" student:"<<endl;
        for (int j = 0; j < wdth; j ++)
        {
            cin>>matrix[i][j];
            if ((matrix[i][j] < 6) || (matrix[i][j] > 10))
            {
                cout<<"INVALID INPUT!"<<endl;
                return 0;
            }
            //cout<<setw(5);
            cout<<matrix[i][j];
        }
        cout<<endl;
    }
    return 0;
}
int average (int matrix[][4], int wdth)
{
    int sum = 0;
    int avrg = 0;
    for (int i = 0; i < wdth; i ++)
    {
        cout<<"Calculating average for "<<i+1<<" student: "<<endl;
        for (int j = 0; j < wdth; j ++)
        {
            sum = sum + matrix[i][j];
        }
    }
    avrg = sum / 5;
    return 0;
}
int min (int matrix[][4], int wdth)
{
    int temp = 0;
    int MIN = 10;
    for (int i = 0; i < wdth; i ++)
    {
        cout<<"Calculating lowest grade for "<<i+1<<" student: "<<endl;
        for (int j = 0; j < wdth; j ++)
        {
            temp = matrix[i][j];
            if (temp < MIN)
            {
                MIN = temp;
            }
        }
     cout<<MIN;
    }
    return 0;
}
输入(矩阵[4][4],wdth)
这里
矩阵[4][4]
是矩阵的一个元素,即
int
。你需要做
输入(矩阵,wdth)

这样试试看。:)

使用
矩阵[4][4]
传递第4行的第4个元素

cpp(11) : error C2664: 'input' : cannot convert parameter 1 from 'int' to 'int [][4]'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

cpp(12) : error C2664: 'average' : cannot convert parameter 1 from 'int' to 'int [][4]'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
input (matrix [4][4], wdth);
average (matrix [4][4], wdth);
min (matrix [4][4], wdth);
input (matrix, wdth);
average (matrix, wdth);
min (matrix, wdth);