gpt4 book ai didi

C++ 多维数组

转载 作者:搜寻专家 更新时间:2023-10-31 00:36:00 24 4
gpt4 key购买 nike

我正在考虑编写一个创建帕斯卡三角形的代码。我已经做到了,但后来我想做得更好。我想到了一个想法,但我找不到合适的答案。是否可以创建一个看起来像那样的数组?[1]|[1][1]|[1][2][1]|[1][3][3][1]|[1][4][6][4][ 1]| 等等?所以我的 [1] 将是 (0,0) 而 [1][2][1] 将是单元格 (2,0),(2,1),(2,2) 的元素。如有任何建议,我将不胜感激。

最佳答案

可以通过一维数组来实现三角数组。固定大小的数组可能如下所示:

template<typename T, size_t N>
struct TriangleArray {
T& element(size_t i, size_t j)
{
if (i >= N || j >= N || i < j)
throw std::out_of_range("incorrect index");
return container[(i + 1) * i / 2 + j];
}
private:
T container[(N + 1) * N / 2];
};

关于C++ 多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22735215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com