用一维数组C++实现PASCALS三角形

用一维数组C++实现PASCALS三角形,c++,arrays,C++,Arrays,我想知道如何用一个一维数组来制作帕斯卡三角形。我这里有一些我一直在使用的代码,但它被卡住了。提前谢谢。如果你需要该计划的其余部分,请让我知道,我会张贴它 int fillArray(int triArray[], int arrSize) { int last = 1; int current = 3; int flag = 0; for (int x = current; x < arrSize; x++) { if (triAr

我想知道如何用一个一维数组来制作帕斯卡三角形。我这里有一些我一直在使用的代码,但它被卡住了。提前谢谢。如果你需要该计划的其余部分,请让我知道,我会张贴它

int fillArray(int triArray[], int arrSize)
{
    int last = 1;
    int current = 3;
    int flag = 0;

    for (int x = current; x < arrSize; x++)
    {
        if (triArray[last] == 1 && flag == 0)
        {
            triArray[current] = 1;
            current++;
            last++;
            flag++;

            cout << triArray[x] << " ";

        }

        triArray[current] = triArray[last] + triArray[last - 1];
        current++;

        cout << triArray[x] << " ";

        if (triArray[last] == 1)
        {
            triArray[current] = 1;
            flag = 0;
            current++;
            last++;

            cout << triArray[x] << endl;
        }


    }

    return *triArray;
}

您应该考虑依次创建每一行,并将它们顺序存储在线性阵列中。在线性阵列上建立一些抽象,以便能够按行和列进行访问。否则,您将像现在看起来的那样,完全陷入代码中。

它被卡住是什么意思?你有死锁吗?我不知道你所说的死锁是什么意思,但它会卡在数字3上,就像它经过了精细的11121,然后它会出错并放入21333,然后在数组大小的其余部分重复3。谢谢你的输入,我是新来的,不知道如何结束我问自己的问题哈哈。我昨晚凌晨2点计算出来,只使用了一个数组,然后使用lastOrder、currentOrder和一个add变量,计算出在每个序列中,只需将加法器增加1,然后在开始和结束处加1。但是非常感谢你的回答!