首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

哪位帮忙啊C++有关问题求解

2012-02-29 
哪位大虾帮忙啊,在线等C++问题求解画一个杨辉三角,我写的程序如下:#includeiostream.h#defineN7voidmain

哪位大虾帮忙啊,在线等C++问题求解
画一个杨辉三角,我写的程序如下:


#include   <iostream.h>
#define   N   7
void   main   ()
{
int   i,j;
        int   a[N][N];
        for   (int   m=1;m <=N;m++)
{
a[m][1]=1;a[m][m]=1;
}
        for   (i=3;i <=N;i++)
{
for   (j=2;j <i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for   (i=1;i <=N;i++)
{
for   (int   n=N-i+1;n> 0;n--)
cout < < "     ";
for   (j=1;j <=i;j++)
cout < <a[i][j] < < "     ";
                cout < <endl;
}
}

最后一行第一列不是“1”,而是“7”,并且系统提示错误。为何啊?

[解决办法]
int a[N][N];

大小为N*N

那么元素下标只能取到N-1

所以for (int m=1;m <=N;m++)
{
a[m][1]=1;a[m][m]=1;
}

这里m=N时越界。

把int a[N][N];改成int a[N+1][N+1];

热点排行