在C ++中查找数组中的元素数

时间:2011-02-21 14:56:32

标签: c++ arrays

我正在尝试开发一个C ++程序。我正面临一个问题。我已经将长度为100的数组声明为int arr[100]

但我只填写了20个参赛作品。现在我想找到数组中元素的总数,应该是20.如何找到数组中填充的元素数?

我试过了

int size= sizeOf(arr)/sizeof(int);

但是这给了我100.我只想获得我允许用户输入的元素。

实际上,存在生成的输出数量可以是任意数量的情况。所以我将每个值分配到一个单独的数组arr[]。然后我想要一个遍历数组长度的循环。

如何计算我在数组中获得的输出总数?

3 个答案:

答案 0 :(得分:8)

每次使用固定大小的数组时,如果要将某些位置视为空并且其他位置已填满,则必须在单独的变量中跟踪填充的元素计数。为什么?因为总是在数组中有100个元素 - 所以你创建了它们。只是你没有使用其中一些 - 而且只有你知道。

这是您应该使用std::vector

的众多原因之一

答案 1 :(得分:1)

使用C / C ++数组时,除非你有另一个跟踪变量,否则无法确定这一点。

您实际上可能正在寻找vector

答案 2 :(得分:1)

您可以在std::vectorstd::deque中找到所需的功能。

使用C ++时,最好使用标准容器而不是C风格的数组。