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

присвоить переменной значение - C++

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

Как присвоить такое значение переменной int C++
как присвоить переменной char значение слова ? C++
C++ Переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае
Как положительной переменной присвоить отрицательное значение? C++
Присвоить любой переменной значение не напрямую C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
28.05.2013, 23:40     присвоить переменной значение #2
тернарный оператор в помощь
Max_92
 Аватар для Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
28.05.2013, 23:40     присвоить переменной значение #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
Модератор
Эксперт С++
 Аватар для Croessmah
11814 / 6793 / 769
Регистрация: 27.09.2012
Сообщений: 16,861
Записей в блоге: 2
Завершенные тесты: 1
28.05.2013, 23:54     присвоить переменной значение #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
a.i.
139 / 139 / 12
Регистрация: 09.11.2012
Сообщений: 906
28.05.2013, 23:58     присвоить переменной значение #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
Модератор
Эксперт С++
 Аватар для Croessmah
11814 / 6793 / 769
Регистрация: 27.09.2012
Сообщений: 16,861
Записей в блоге: 2
Завершенные тесты: 1
29.05.2013, 00:01     присвоить переменной значение #6
Цитата Сообщение от mokojumbot Посмотреть сообщение
а кто сказал, что t bool ?
можете не бул сделать. При выводе прост опривести к bool. Если типа bool вообще нет, тогда можно привести его искусственно через операцию НЕ или равенства нулю

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

Присвоить переменной значение по условию C++
Как присвоить возвращаемое значение функции переменной? C++
Как присвоить переменной Double значение NaN? C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11814 / 6793 / 769
Регистрация: 27.09.2012
Сообщений: 16,861
Записей в блоге: 2
Завершенные тесты: 1
29.05.2013, 00:37     присвоить переменной значение #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     присвоить переменной значение
Ответ Создать тему
Опции темы

Текущее время: 13:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru