Это простая программа, в которой я инициализирую вектор, передавая его ссылкой на функцию, а затем нахождение максимального значения. Значения в векторе все еще остаются нулями и не обновляются до тех, которые предоставляются через вход консоли.Вектор не добавляет значения
#include <iostream>
#include <vector>
using namespace std;
void initialize(vector<int>& v) {
int n;
for (int i = 0; i < 10; i++) {
cout << "Please enter the value " << (i + 1) << ": ";
cin >> n;
v.push_back(n);
}
}
int findMax(vector<int>& v, int& max) {
int iMax = 0;
for (int i = 1; i < 10; i++) {
if (v[i] > max) {
cout << endl << "v[" << i << "] = " << v[i] << endl;
max = v[i];
iMax = i;
}
}
return iMax;
}
int main() {
vector<int> v(10);
initialize(v);
int max = v[0];
int x = findMax(v, max);
cout << "The maximum value is " << max << " and is strored at the index position " << x << endl;
system("pause");
return 0;
}
В findMax вы пропускаете элемент 0, потому что ваш цикл начинается с i = 1. В ваших тестовых данных, является первым элементом max и являются остальными из них нулями? – theoutlander