如何将for循环中的每次迭代变为列表/向量? (C ++)

时间:2017-01-30 17:19:04

标签: c++ arrays for-loop

我正在尝试取值N,并创建一个列表/向量,其中包含从N到0(不包括)的所有值,然后再次为N.

定义N后,我有以下代码:

for (int i = N; i > 0; i--) {
    cout << i << endl;
}

这样可以整齐地打印出所需的值。例如,N = 3:

3
2
1
3

问题在于我无法操纵这些来计算我想要的东西(即平均值,范围,最大值和最小值)。所以我需要做的是让每次迭代都将自己放入一个数组中,这个数组与前一个迭代所在的数组相同。

我在这里找到了一个类似的问题(How to store the result of each iteration of a for loop into an array (Javascript)),除了它在javascript中,这给我带来了一些问题。

为什么以下内容不适用于C ++,如何更改?

var array = []
for (int i = N-1; i < N; i--) {
    array.push(i);
}

与int replacint var相同的东西也不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

首先,这个:var array = []和其他代码完全不是c++语法,它是纯粹的javascript。您无法将代码从一种语言复制到另一种语言,期望能够正确编译和运行。

为了将所有元素从N插入0然后再将N插入到需要的向量中:

  1. 包含矢量库:#include <vector>
  2. 启动N值(来自用户,使用cin in in包括iostream,例如手动或手动,即N = 6)
  3. 请仔细阅读以下代码,了解如何将所有想要的数字输入到向量here (use push_back)注意:另外,正如@NathanOliver所提到的,如果你知道N在高级中,你可以使用反向。在这里查看simple reference.
  4. 然后,手动推送N(vec.push_back(N)
  5. 我真的这样说,对你来说,尝试自己解决这个问题,然后才会有人给你完整的代码。