Проверка равенства всех элементов вектора в C++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Проверка равенства всех элементов вектора в C++

Сообщение Anonymous »

Если у меня есть вектор значений и я хочу проверить, все ли они одинаковы, как лучше всего это сделать на C++? Если бы я программировал на каком-то другом языке, таком как R, я сразу подумал бы о том, чтобы вернуть только уникальные элементы контейнера, а затем, если длина уникальных элементов больше 1, я знаю, что все элементы не могут быть одинаковыми. В C++ это можно сделать так:

Код: Выделить всё

//build an int vector
std::sort(myvector.begin(), myvector.end());
std::vector::iterator it;
//Use unique algorithm to get the unique values.
it = std::unique(myvector.begin(), myvector.end());
positions.resize(std::distance(myvector.begin(),it));
if (myvector.size() > 1) {
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/20287095/checking-if-all-elements-of-a-vector-are-equal-in-c[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»