У меня есть 5 чисел (a,b,c,d,e) и мне надо чтоб если хотя бы два из них ра вны, выполнилась команда.
Но не перебором всех вариантов типа
if (a=b || b=c || c=a || a=d и так далее)
Может есть команда типа: если среди чилел a b c d e есть равные, то...
Подскажите пожалуйста
Другие языки программирования и технологии
Как в c++ сравнить несколько чисел
#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");
}
#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");
}
Нет такой команды.
Используй массивы - тогда сможешь делать такие штуки циклами и не писать здоровенных условий.
Например (код на 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;
}
Используй массивы - тогда сможешь делать такие штуки циклами и не писать здоровенных условий.
Например (код на 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;
}
если числа в массиве, до двумя циклами. первый по всем элементам, второй от первого по оставшимся. внутри сравнивать. при равенстве оба цикла прервать можно
Нет такой команды. }
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];
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];
Ратмир Азнабаев
это что имеется ввиду
Нет такой команды. }
Похожие вопросы
- Особенности арифметических операций в C++, деление отрицательных чисел, вопрос ниже
- Пожалуйста помогите,C++ .Дана последовательность чисел.Найти в ней наименьшее число.
- Помогите с программой на C++! (Вывод квадратов чисел от 1 до 20). Не знаю, что не так.
- Как получить нужное число из суммы нескольких чисел в массиве?
- c++ рандомное Double число
- C# Печать нескольких страниц за счёт разделения элемента panel на отдельные участки, помогите, пожалуйста.
- C++ Двухмерный массив с случайными не повторяющимися числами.
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .
- Помогите!! C ++ Вводится число от 1...999. Вывести данное число на естественном языке. Например, 52 – пятьдесят два.
- сравнение трех целых чисел в C++