Другие языки программирования и технологии

Как в c++ сравнить несколько чисел

У меня есть 5 чисел (a,b,c,d,e) и мне надо чтоб если хотя бы два из них ра вны, выполнилась команда.
Но не перебором всех вариантов типа
if (a=b || b=c || c=a || a=d и так далее)
Может есть команда типа: если среди чилел a b c d e есть равные, то...
Подскажите пожалуйста
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
template<typename Type, typename... Args>
bool match(Args... args) {
vector<Type> box(initializer_list<Type>({ args... }));
sort(box.begin(), box.end());
return adjacent_find(box.begin(), box.end()) != box.end();
}
int main() {
int a, b, c, d, e;
cin >> a >> b >> c >> d >> e;
if (match<int>(a, b, c, d, e)) cout << "Yes!\n";
else cout << "No!\n";
system("pause");
}
Madiar Akimishev
Madiar Akimishev
69 455
Лучший ответ
Нет такой команды.
Используй массивы - тогда сможешь делать такие штуки циклами и не писать здоровенных условий.
Например (код на C#):

bool Equal = false;
for (int i=0; i<4; i++)
{
for (int j=i+1; j<5; i++)
{
Equal = a[i] == a[j];
if (Equal) break;
}
if (Equal) break;
}
если числа в массиве, до двумя циклами. первый по всем элементам, второй от первого по оставшимся. внутри сравнивать. при равенстве оба цикла прервать можно
Нет такой команды. }
Yu S
Yu S
544
int a, b, c, d, e, i, j, q;
i = 0;
j = 0;
cin >> a >> b >> c >> d >> e;
int t[5] = { a, b, c, d, e };
while(i<5){
while(j<5&&j!=i) {
if (t[i] == t[j]) {
q = i;
}
j++;
}
i++;
j = 0;
}
cout << t[q];
int a, b, c, d, e, i, j, q;cout << t[q];
BB
Britanec Britanec
351
Ратмир Азнабаев это что имеется ввиду
Нет такой команды. }