应该是int ncols,nlines;
我的意思是用一个类来实现这个杨辉三角,而且输出的时候是一种正三角形的样式。希望大家帮忙啊,真的不知道那个内存错误是怎么回事。我再把程序给大家#include <iostream>
using namespace std;
class YH {
public:
YH(int jie=0)
{ cout<<jie<<"阶杨辉三角视图"<<endl;
int *p=new int[jie+1];//
}
~YH()
{
cout<<"结束程序"<<endl;
delete p;
}
void coeff(int a)
{
if(a==0)
p[0]=1;
else if(a==1)
{
p[0]=1;
p[1]=1;
}
else
{
coeff(a-1);
p[a]=p[0]=1;
for(int b=1;b<=a-1;b++)
p[b]=p[b]+p[b-1];
}
}//刚才这里丢了这个},就有个unexpected end of file found得错误,所以一定检查好括号是否成对,时候在类定义结尾丢掉了;
void kg(int a)
{
for(int i=1;i<=jie-a;i++)
cout<<' ';
}
void getYH()
{
for(int i=0;i<=jie;i++)//阶数从0开始,范围到jie 为止
kg(i);//先输出第i 行的空格
coeff(i);//构建第i 行的数据
for(int j=0;j<=i;j++)//输出i 行数据。共0~i i+1个数据
cout<<p[j]<<' ';
cout<<endl;
}
private:
int jie;
int* p;
};
void main()
{
YH a(4);
a.getYH();
}
//这个程序编译没有错误,但是执行的时候会有Access Violation(非法访问),Access Violation常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。