C++ 二维数组参数问题
求大佬帮帮忙!!任务:用new建立二维数组,并输出最大、最小及总体求和值
问题:二维数组作参数,系统提示 can·t convert “int **” to "int (*)"
代码如下:
#include <iostream>
using namespace std;
void Max(int a[]);
void Min(int a[]);
void Sum(int a[]);
int main()
{
int i=0,j=0;
int **a= new int *;
for(i=0;i<3;++i)
a = new int ;
for(i=0;i<3;++i)
for(j=0;j<3;++j)
cin>>a;
Max(a);
Min(a);
Sum(a);
return 0;
}
void Max(int a[])
{
int num=a;
int i=0,j=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
num = (num>a)?num:a;
cout <<"最大值为:" <<num <<endl;
}
void Min(int a[])
{
int num=a;
int i=0,j=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
num = (num<a)?num:a;
cout <<"最小值为:" <<num <<endl;
}
void Sum(int a[])
{
int num=0;
int i=0,j=0;
for(i=0;i<3;++i)
for(j=0;j<3;j++)
num += a;
cout <<"求和为:" <<num <<endl;
}
求求大佬了!!麻烦了
void Max(int a[]);
void Min(int a[]);
void Sum(int a[]);
//这样定义的函数只能传递数组
inta;
Max(a)
Min(a);
Sum(a);
//如果要传递 int ** ,则函数定义应该为
void Max(int **a);
void Min(int **a);
void Sum(int **a);
a的定义有问题, 修改如下
#include <iostream>
using namespace std;
void Max(int a[]);
void Min(int a[]);
void Sum(int a[]);
typedef int(*array_int_3);
int main()
{
int i = 0, j = 0;
array_int_3 a = new int;
for (i = 0; i < 3; ++i)
for (j = 0; j < 3; ++j)
cin >> a;
Max(a);
Min(a);
Sum(a);
return 0;
}
void Max(int a[])
{
int num = a;
int i = 0, j = 0;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
num = (num > a) ? num : a;
cout << "最大值为:" << num << endl;
}
void Min(int a[])
{
int num = a;
int i = 0, j = 0;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
num = (num < a) ? num : a;
cout << "最小值为:" << num << endl;
}
void Sum(int a[])
{
int num = 0;
int i = 0, j = 0;
for (i = 0; i < 3; ++i)
for (j = 0; j < 3; j++)
num += a;
cout << "求和为:" << num << endl;
} 沿路直走 发表于 2021-3-15 09:20
a的定义有问题, 修改如下
#include
谢谢大佬! xieglt 发表于 2021-3-15 09:02
谢谢大佬
页:
[1]