#include <iostream>
using namespace std;
/*void main()
{
int a;
cin>>a;
int b[a]={0};//expected constant expression 就是说静态定义一个数组的时候,必须给一个常量表达式放在下标那一栏
}
*/
class YH //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];
}
;
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常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。