Мне нужно создать программу, которая просит пользователя ввести 20 чисел от 10 до 100, которые будут сохранены в векторе, но будут сохранены только уникальные значения. Я создал программу, которая хранит значения в пределах диапазона, но я не знаю, как хранить только уникальные значения. Вот что у меня есть:C++ Уникальные значения в векторе?
#include <iostream>
#include <vector>
using namespace std;
void print(vector<int>v);
int main()
{
vector<int>v;
int x;
for (int num = 0; num < 20; num++)
{
cout << "Enter number " << (num + 1) << ":";
cin >> x;
if (10 < x)
{
if (x < 100)
v.push_back(x);
}
}
print(v);
}
void print(vector<int>v2)
{
for (int count = 0; count < v2.size(); count++)
cout << v2[count] << " ";
}
Я хочу поблагодарить всех за помощь.
Почему ваша версия для печати скопировать весь вектор? В этом нет необходимости. Вместо этого передайте константу. –
Если вектор необходимо использовать, используйте функцию 'std :: find', чтобы проверить, существует ли значение перед вставкой. –
Почему бы вам просто не использовать std :: set? – paulm