Задача по программированию
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
- Циник
- Завсегдатай
- Сообщения: 442
- Зарегистрирован: 17 фев 2003, 17:17
Задача по программированию
Написать функцию Ф(х), которая меняет местами 2 и 3, то есть когда ей подаешь х=2, она возвращает 3, и наоборот.
- Lepsik
- Житель
- Сообщения: 522
- Зарегистрирован: 17 фев 2003, 18:34
- Откуда: Berlin
- Контактная информация:
#define f(x) ((x==2)?3:2)
так пойдет ?
- Tania
- Частый Гость
- Сообщения: 15
- Зарегистрирован: 17 фев 2003, 20:04
XORом его
Мне только сейчас лень думать, как это правильно записать с точки зрения синтаксиса.
Но в принципе должно работать: 10 xor 1 = 11. 11 xor 1 = 10. Вариант хорош тем, что можно не проверять, чему равно введенное число, а тупо xor-ить его с единицей.
Но в принципе должно работать: 10 xor 1 = 11. 11 xor 1 = 10. Вариант хорош тем, что можно не проверять, чему равно введенное число, а тупо xor-ить его с единицей.
- Marmot
- Графоман
- Сообщения: 38345
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Canyon Heights
- Контактная информация:
- Tania
- Частый Гость
- Сообщения: 15
- Зарегистрирован: 17 фев 2003, 20:04
Тогда выбрасывается исключение, происходит GPF
и компьютер взрываетсявместе со всей локальной сетью.
Мне с вас смешно, товарищи - можно подумать, вы голливудских фильмов с участием компьютеров не смотрели...
Мне с вас смешно, товарищи - можно подумать, вы голливудских фильмов с участием компьютеров не смотрели...
- Marmot
- Графоман
- Сообщения: 38345
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Canyon Heights
- Контактная информация:
Re: Тогда выбрасывается исключение, происходит GPF
Ндаа, это дело (и компьютер взрывается вместе со всей локальной сетью) надо долго программировать, в функцию может и не поместится...Tania писал(а):и компьютер взрываетсявместе со всей локальной сетью.
Мне с вас смешно, товарищи - можно подумать, вы голливудских фильмов с участием компьютеров не смотрели...
- Циник
- Завсегдатай
- Сообщения: 442
- Зарегистрирован: 17 фев 2003, 17:17
- Tania
- Частый Гость
- Сообщения: 15
- Зарегистрирован: 17 фев 2003, 20:04
Не пойдёт так не пойдёт
Моё дело предложить.
Тогда пыхтите сами, а я загляну через полчасика - проверю.
Тогда пыхтите сами, а я загляну через полчасика - проверю.
- Смайл
- Пользователь
- Сообщения: 135
- Зарегистрирован: 18 фев 2003, 10:38
Re: Задача по программированию
А когда и не 2 и не 3 тогда как?Циник писал(а):Написать функцию Ф(х), которая меняет местами 2 и 3, то есть когда ей подаешь х=2, она возвращает 3, и наоборот.
Недетреминистски задачи ставишь, дорогой товарищ.
Поди T-SQL ваяешь?
- папа Карло
- Шарманщик
- Сообщения: 8563
- Зарегистрирован: 17 фев 2003, 15:04
- Откуда: НН -> BC -> WA -> UT -> CA
Re: Задача по программированию
за че ты меня так не любишь?Смайл писал(а):Поди T-SQL ваяешь?
- Циник
- Завсегдатай
- Сообщения: 442
- Зарегистрирован: 17 фев 2003, 17:17
Re: Задача по программированию
Так ведь жизнь - она, товарищ Смайл, сугубо недетерминистская. И задачи она ставит обычно такие же. Вот мне как раз и интересно, как население с такими жизненными формулировками справляется, как мыслительный процесс проистекает, каков результат получается.Смайл писал(а):А когда и не 2 и не 3 тогда как?Циник писал(а):Написать функцию Ф(х), которая меняет местами 2 и 3, то есть когда ей подаешь х=2, она возвращает 3, и наоборот.
Недетреминистски задачи ставишь, дорогой товарищ.
Спаси и сохрани, старик Бо.Поди T-SQL ваяешь?
- Tania
- Частый Гость
- Сообщения: 15
- Зарегистрирован: 17 фев 2003, 20:04
Това-арищ Циник
А в чём, собственно, смысл задачи?
Почему в лоб (свитчем или иф-елс) нельзя?
Надо написать как можно меньшим числом операторов? Или наиболее оптимально? Или этот код должен быть палиндромным и при этом печатать сам себя?
Почему в лоб (свитчем или иф-елс) нельзя?
Надо написать как можно меньшим числом операторов? Или наиболее оптимально? Или этот код должен быть палиндромным и при этом печатать сам себя?
- Циник
- Завсегдатай
- Сообщения: 442
- Зарегистрирован: 17 фев 2003, 17:17
Re: Това-арищ Циник
Смысл задачи - написать такую функцию (см. выше). Можно просто описать алгоритм. Все. Если это так просто, почему не вижу до сих пор решения? Уже и подсказку дал...Tania писал(а):А в чём, собственно, смысл задачи?
Почему в лоб (свитчем или иф-елс) нельзя?
Надо написать как можно меньшим числом операторов? Или наиболее оптимально? Или этот код должен быть палиндромным и при этом печатать сам себя?
- Marmot
- Графоман
- Сообщения: 38345
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Canyon Heights
- Контактная информация:
Re: Това-арищ Циник
1. Превращаешь число в строку
2. Заменяешь 2->3 / 3->2
3. Конвертишь обратно в число
Угадал?
2. Заменяешь 2->3 / 3->2
3. Конвертишь обратно в число
Угадал?
- fooit
- Пользователь
- Сообщения: 135
- Зарегистрирован: 17 фев 2003, 19:09
- Откуда: Toronto, ON
- Контактная информация:
Swap что-ли?
void my_swap(int& x, int& y)
{
x=x-y;
y=x+y;
x=y-x;
}
{
x=x-y;
y=x+y;
x=y-x;
}