woshiyyp
woshiyyp
2017-05-10 09:45

杨辉三角传参填空,求帮助,C++新手

  • 二维数组
  • c++

#include
#include
using namespace std;
int* YangHuiData(int n); //n是杨辉三角形的行数
void YangHuiShow(int *pData,int n);//在屏幕上打印杨辉三角形
int main() {
int n
cout<<”请输入杨辉三角形的行数”< cin>>n
//计算杨辉三角并保存到二维数组

int *pData = YangHuiData(n);
//在屏幕上打印等腰三角形的杨辉三角
YangHuiShow(pData,n);

//n是杨辉三角形的行数
int* YangHuiData(int n){
int *a = new int[n*n];
//完成杨辉三角形的计算,没有显示的位置填0
return a;
}
void YangHuiShow(int *a,int n){
//根据数据a指向的二维数组在屏幕上打印
//杨辉三角形,每行前面填充合适的空格
//以显示成等腰三角形,左右对称
}
下面是普通的杨辉三角程序

#include
#include
using namespace std ;
#define N 200
int main()
{
int a[N][N]={{1},{1,1}};
int i,j,n;
cout << "input n: ";

do { cin >> n; }while(n>=N); //防止越界
for(i=2;i<n;i++) //数组赋值
{
a[i][0]=1;
a[i][i]=1;
for( j=1;j<i;j++ )
a[i][j]=a[i-1][j-1]+a[i-1][j];

} 
for( i=0;i<n;i++ ) 
{ 
    for( j=0;j<n-i-1;j++ )  
        cout << setw(3) << " " ;//前导空格,为单个数据的一半宽度  
    for( j=0;j<=i;j++ ) 
        cout << setw(6) << a[i][j] ; 
    cout<<endl; 
} 

}
我想知道如何通过上述题目手段完成杨辉三角

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答