打出杨辉三角的修改完善

打出杨辉三角,打出那种直角三角形的就可以了。但是我不明白的是为什么在定义二维数组的时候,一定要给二维数组赋上初值?
另一方面我这样打出的杨辉三角,没有用的地方都会显示零0,怎么能都让它不显示0⃣?

img

img

使j小于i就可以不打印0了。

#include<iostream>
using namespace std;

int main() {
    const int n=10; //杨辉三角的行数

    int array[n][n];
    //填充数值模块 
    for (int i = 0; i < n; i++)
    {
        for (int j = 1; j <= i; j++)
        {
            array[i][j] = array[i - 1][j - 1] + array[i - 1][j];
        }
        array[i][0] = array[i][i] = 1;
    }
    //输出模块 
    for (int i = 0; i < n; i++) {
        cout << "\n";
        for (int j = 0; j <= i; j++) {
            cout << array[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}