C++ 要将向量中的所有i相加,然后打印最大值吗

C++ 要将向量中的所有i相加,然后打印最大值吗,c++,arrays,loops,vector,integer,C++,Arrays,Loops,Vector,Integer,我只想打印向量中的所有元素,当我的if条件为true时,所有的I都应该存储在向量中,稍后我想打印向量的最大值,请帮助 #include <iostream> #include <vector> using namespace std; int main(void) { int n; cin >> n; vector <int> arr; for (int i = 1; i <= 10; i++)

我只想打印向量中的所有元素,当我的if条件为true时,所有的I都应该存储在向量中,稍后我想打印向量的最大值,请帮助

#include <iostream>
#include <vector>

using namespace std;

int main(void) {
    int n;
    cin >> n;
    vector <int> arr;

    for (int i = 1; i <= 10; i++)
        if (n % i == 0)
            arr.push_back(i);

    cout << arr;

    return 0;
}

打印向量的元素:

for (int v : arr) cout << v << '\n';
打印通用向量的最大值:

if (!arr.empty()) {
    cout << *std::max_element(arr.begin(), arr.end());
}

添加包含。

问题中的代码应直接作为文本发布。打印向量:对于int v:arr cout,我想先在向量中添加i,然后打印最大值sir@RohanOP的工作就是把他们的代码贴在这里,你不能做这样的编辑。有了这个代码,所有的i都会存储在向量中??不。我的代码只是用来打印向量的。在您的代码中已经完成了添加。谢谢先生,我很抱歉没有键入我的代码。在取消引用从max返回的迭代器之前,常规向量需要if arr.size_element@largest_prime_is_463035818非常感谢。
for (std::vector<int>::iterator it = arr.begin(); it != arr.end(); it++){
    cout << *it << '\n';
}
if (!arr.empty()) {
    cout << *std::max_element(arr.begin(), arr.end());
}