请指教: cannot convert `int (*)[100]' to `int*' for argument `1' to `double f(int*, int, int, double)' 什么错误?怎么改呢?多谢!

wolfboy2008 2008-10-24 07:52:56
用c++编写的一个在一个二维矩阵里取数的问题.
在一个二维矩阵里,每一行中头尾两个数比较大小,取大的那个数,取出的一个数用a[i,j]*2k(2的k次方,k代表取数的次数)表示,然后把所有的加起来,要得到的值最大.数要取到完为止.

#include<math.h>
#include<iostream>
using namespace std;
double f(int a[],int i,int j,double k)
{
double max,m,n;
if(i<j)
{
m=f(a,i+1,j,k+1)+a[i]*pow(2.,k);
n=f(a,i,j+1,k+1)+a[j]*pow(2.,k);
if(m>n)max=m;
else max=n;
}
else if(i==j)max=a[i]*pow(2,k);
return max;
}
main()
{
int a[100][100];
int i,j;
double p;
int r=2,c=4;
double s=1.00;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
cin>>a[i][j];
}
}
p=f(a,0,c-1,s);
cout<<p<<endl;
cin>>i;
}

编译后出错:cannot convert `int (*)[100]' to `int*' for argument `1' to `double f(int*, int, int, double)'
这个错误怎么改呢?初来乍到,请多指教..新来,分比较少..见谅...
...全文
3127 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Darkneece 2008-10-28
  • 打赏
  • 举报
回复
a是2维数组,f函数的a参数是1维数组,所以会抱错
xuboamei 2008-10-25
  • 打赏
  • 举报
回复

p=f(*a,0,c-1,s);


试试看吧
DIY-eahom 2008-10-25
  • 打赏
  • 举报
回复
不只楼主是不是我这个意思,我看你题目不太懂;
我的意思是 一个二维数组 只比较每行的首尾俩个数,取较大者再乘以其行数 把每行的结果累加!~!·
#include <math.h>
#include <iostream>

using namespace std;

const int MaxSize=4;

double f(int a[MaxSize][MaxSize])
{
int i;
int j;
int k=0;
double max=0.0;
int temp;
for(i=0; i<MaxSize; i++)
{
j=MaxSize-1;
a[i][0] > a[i][j] ? temp = a[i][0] : temp = a[i][j];
k++;
max += temp * pow(2, k);
}
return max;
}
void main()
{
int a[MaxSize][MaxSize];
int j;
int i;
double p;

for(i=0; i<MaxSize; i++)
{
for(j=0; j<MaxSize; j++)
{
cin>>a[i][j];
}
}
for(i=0; i<MaxSize; i++)
{
for(j=0; j<MaxSize; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
p=f(a);
cout << p << endl;
}
taojian_hhu 2008-10-25
  • 打赏
  • 举报
回复
参数类型不匹配,double f(int a[],int i,int j,double k) 中的第一个参数为一级指针,而a[100][100],调用p=f(a,0,c-1,s);

时第一个实参为二级指针。try p=f(×a,0,c-1,s);
nkbaixiaoji 2008-10-25
  • 打赏
  • 举报
回复
函数 double f(int a[],int i,int j,double k) 中的参数a为一维数组,而在main函数中f传递的实参a为二维数组,因此出现编译错误。2楼的回复很好!

33,323

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧