请各位帮下忙 错在哪

pjx_raul 2008-03-13 05:03:33
编译都无错误,但输入数据开始运行就出错,,,错哪了,请指教

#include <iostream>

#include <string>
using namespace std;

int f[100][110];

void add(int a[],int b[],int c[])
{

int t;
memset(c,0,sizeof(f[0]));
for(int i=0;i<110;i++)
{
t=a[i]+b[i]+c[i];
if(t>=10)
{t=t-10;c[i+1]=1;}
c[i]=t;
}



}

void main()
{
int m,d,sum=0;
f[0][0]=1;cin>>m>>d;


for(int a=0;a<100;a++)
for(int b=0;b<110;b++)
f[a][b]=0;


while(m)
{

for(int i=1;i<m;i++)
{
sum=sum+i;
f[i][0]=sum;
cout<<f[i][0];
}


for(i=m;i<=d;i++)
{
add(f[i-m],f[i-1],f[i]);
}

for(int j=109;j>=0;j++)
{ if(f[d][j]!=0) cout<<f[d][j];}
cout<<endl;

cin>>m>>d;
}
}
...全文
141 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chappell 2008-03-13
  • 打赏
  • 举报
回复

for(int j=99;j>=0;j--) //109->99?
{
if(f[d][j]!=0)
cout <<f[d][j];
}
Chappell 2008-03-13
  • 打赏
  • 举报
回复

for(int a=0;a <100;a++)
for(int b=0;b<100;b++) //110 -> 100?
f[a][b]=0;
pjx_raul 2008-03-13
  • 打赏
  • 举报
回复
谢谢个位啊,,哈哈,居然错在这,受不住,浪费了这么长时间。哎
beyondtkl 2008-03-13
  • 打赏
  • 举报
回复
呵呵 看的有点晕 不是很规范哦。
iFree 2008-03-13
  • 打赏
  • 举报
回复
程序写得有点莫名其妙! 存在明显的数据越界访问!!!
baihacker 2008-03-13
  • 打赏
  • 举报
回复

for(int j=109;j>=0;j--) // 这里应该用j--
{
if(f[d][j]!=0) cout <<f[d][j];
}

64,849

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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