Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
#1

Проверить, что из введённых чисел x, y, z только два числа равны между собой - C++

28.05.2013, 23:32. Просмотров 706. Ответов 7
Метки нет (Все метки)

Не использую оператора if, присвоить переменной значение t значение 0, если из введённых чисел x,y,z только два числа равны между собой, и значение 1 - в противном случае.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 23:32     Проверить, что из введённых чисел x, y, z только два числа равны между собой
Посмотрите здесь:

Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы - C++
Дан массив А. Известно, что среди его элементов два и только два равны между собой. Напечатать их индексы Помогите)))пожалуйста

Известно, что среди элементов массива два и только два равны между собой. Напечатать их индексы - C++
Дан двумерный целочисленный массив А(2, N). Известно, что среди его элементов два и только два равны между собой. Напечатать их индексы. ...

Дан целочисленный двумерный массив. Известно, что среди его элементов два и только два равны между собой. Напечатать их индексы - C++
Часть программы выполнена, но не получается поставить верное условие для сравнения элементов в массиве (уточнение: использовать можно...

Верно ли что все элементы последовательности равны между собой - C++
ребят помогите пожалуйста сдать лабу просто очень надо((((( Дана не пустая последовательность целых чисел, заканчивающаяся...

Верно ли, что все элементы заданной последовательности равны между собой? - C++
Дана непустая последовательность целых чисел, оканчивающаяся отрицательным числом. Верно ли, что все элементы последовательности равны...

Дана последовательность а1,а2,…,а15. Верно ли, что все элементы последовательности равны между собой? - C++
Найдите ошибку Дана последовательность а1,а2,…,а15. Верно ли, что все элементы последовательности равны между собой? #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 526
28.05.2013, 23:40     Проверить, что из введённых чисел x, y, z только два числа равны между собой #2
тернарный оператор в помощь
Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
28.05.2013, 23:40     Проверить, что из введённых чисел x, y, z только два числа равны между собой #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
using namespace std;
 
int t,x,y,z;
 
int main()
{
 
cin>>x;
cin>>y;
cin>>z;
 
t = 1;
 
switch(x)
{
case y: {t = 0;} break;
case z: {t = 0;} break;
}
return 0;
 
switch(y)
{
case x: {t = 0;} break;
case z: {t = 0;} break;
}
return 0;
 
switch(z)
{
case x: {t = 0;} break;
case y: {t = 0;} break;
}
return 0;
 
}
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
28.05.2013, 23:54     Проверить, что из введённых чисел x, y, z только два числа равны между собой #4
Вот такой вариант:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
 
int main(){
    int x,y,z;
    std::cin>>x>>y>>z;
    bool t = 1 - (x == y) - (x == z) - (y == z);
    std::cout<<t<<std::endl;
}
mokojumbot
157 / 157 / 15
Регистрация: 09.11.2012
Сообщений: 1,001
28.05.2013, 23:58     Проверить, что из введённых чисел x, y, z только два числа равны между собой #5
Croessmah, а кто сказал, что t bool ? :) С плюсами не знаком почти, объясните пжл операцию в 7 строке.
Я так понимаю, в скобках вычисляется либо 1 (true) либо 0 (false)?

C
1
2
3
4
5
6
7
#include <stdio.h>
int main()
{
    int t = 1, x, y, z;
    scanf("%d %d %d", &x, &y, &z);
    (((x == y) && (x != z)) || ((x == z) && (x != y)) || ((y == z) && (y != x))) ? (t = 0) : (t = 1);
}
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
29.05.2013, 00:01     Проверить, что из введённых чисел x, y, z только два числа равны между собой #6
Цитата Сообщение от mokojumbot Посмотреть сообщение
а кто сказал, что t bool ?
можете не бул сделать. При выводе прост опривести к bool. Если типа bool вообще нет, тогда можно привести его искусственно через операцию НЕ или равенства нулю

Цитата Сообщение от mokojumbot Посмотреть сообщение
в скобках вычисляется либо 1 (true) либо 0 (false)?
Именно.
Соответственно, если будет только два одинаковых числа, то получим ноль(false) в результате вычислений. В остальных случаях значение отличное от нуля(true)
Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
29.05.2013, 00:16     Проверить, что из введённых чисел x, y, z только два числа равны между собой #7
hacker13a, return 0 под case'ы только надо загнать..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 00:37     Проверить, что из введённых чисел x, y, z только два числа равны между собой
Еще ссылки по теме:

Известно, что из четырех чисел a1, a2, a3, a4 одно отлично от трех других, равных между собой. Присвоить номер этого числа переменной n - C++
12. Известно, что из четырех чисел a1, a2, a3, a4 одно отлично от трех других, равных между собой. Присвоить номер этого числа переменной n

Поиск максимального числа среди введённых чисел. Проверить код - C++
Он должен делать следующее: пользователь вводит число, если оно меньше 8 то считается мат. выражения, если больше то поиск максимального...

Определить, все ли элементы последовательности равны между собой - C++
Определить все ли элементы последовательности равны между собой

Проверить, совпадают ли два введённых слова - C++
1. Проверить, совпадают ли два введённых слова (есть решённая) 2. Вставить вместо &quot;т&quot;, стоячей на нечётном месте букву &quot;у&quot;. Помогите со...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
29.05.2013, 00:37     Проверить, что из введённых чисел x, y, z только два числа равны между собой #8
C
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main(){
    int x,y,z,t;
    scanf("%d%d%d", &x, &y, &z);
    t = 1 - (x == y) - (x == z) - (y == z);
    printf("%d",t!=0);
    return 0;
}
Yandex
Объявления
29.05.2013, 00:37     Проверить, что из введённых чисел x, y, z только два числа равны между собой
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru