我正在尝试实现一个程序,它可以给你一个确定的起始、结束和基础数字组成的序列。问题在于我无法确定元素的数量。
这是我用于生成简单算术级数的代码:
float Arithmetic_squence[](float start, float end, float b) {
float result[];
float last_number = start;
while (last_number <= (end - b)) {
result[sizeof(result)] = last_number;
last_number += b;
}
}
由于需要指定大小,所以它无法编译
我希望代码尽可能简单,因此不想实现低效、耗时的链表
我也不知道如何处理向量,如果有快速指南,我可能会使用它
std::vector
。如果你真的需要一个数组,那么这将是一个不错的选择。然而,数组很少是表示算术序列的好选择。例如,rand
函数是一个函数,而不是一个数组。相反地,定义一个包含计算序列中下一个数字所需信息的对象,并让它提供一个成员函数next
。你也可以选择或同时将其表达为 C++ 前向迭代器,但如果需要的话,我认为适配器更好。因此,使用有状态的对象,而不是数组。祝好运! - Cheers and hth. - Alf