Я работал над упражнением в C++ Primer. Собственно, я уточнил свою первую версию. Проблема в том, что я не только хочу обнаружить дублирование в векторе, но и сколько раз их дублировали. У меня проблемы с последним.Как подсчитать дубликаты в векторе (C++)
Вот мой код:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> nums{1,3,1,5,7,8,9,7};
sort(nums.begin(), nums.end());
for(unsigned int i = 0; i != nums.size(); ++i){
if(nums[i] == nums[i + 1]){
cout << nums[i] << " is a duplicated number" << endl;
}
}
return 0;
}
EDIT: Кроме того, только заметил, что моя логика ошибочна. Если число появляется более двух раз, оно будет печатать несколько раз, это дубликат. Это избыточно.
Если он находит те же повторяющиеся несколько раз подряд, то есть, как вы знаете, количество дублей. –