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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
#1

Головоломка о голландском флаге - C++

21.09.2010, 17:55. Просмотров 1441. Ответов 7
Метки нет (Все метки)

Даны три числа - a, b, c. Они равны 0,1,2, но не упорядочены. Не используя if поменять их местами так, чтобы а=1, b=0, с=2.
Может кто-нибудь сталкивался с подобным? А то я что-то даже не понимаю, что от меня хотят...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Shaper
22 / 22 / 2
Регистрация: 05.05.2010
Сообщений: 82
21.09.2010, 18:03     Головоломка о голландском флаге #2
Я тоже не понял, что от вас хотят. Что мешает написать вот такой простой код:

C++
1
2
3
4
5
6
7
8
9
10
11
char a,b,c;
printf("\nВведите число а:");
scanf("%d",a);
printf("\nВведите число b:");
scanf("%d",b);
printf("\nВведите число c:");
scanf("%d",c);
а=1;
b=0;
с=2;
printf("a=%d, b=%d, c=%d\n",a,b,c);
Условие "поменять их местами так, чтобы а=1, b=0, с=2" выполняется.
И, смотрите, без использования if !!!
easybudda
21.09.2010, 18:07
  #3

Не по теме:

Мне вот это "Головоломка о голландском флаге" понравилось... По-моему тут нужно отгадать, что курил автор головоломки...

fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
21.09.2010, 18:07     Головоломка о голландском флаге #4
Камешки: красные, белые, синие располагаются в столбик. Надо упорядочить камешки таким образом, чтобы их цвета шли в том же порядке, что и цвета голландского флага - красные, белые, синие.

Предположим, что камешки пронумерованы в порядке их следования сверху вниз. Камешками ведает робот. Он может выполнять 2 команды:
- определить цвет i-го камня (1 <= i <= n)
- поменять местами i-ый и j-ый камешки (1 <= i,j <= n)

n - число камешков в столбике.
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
21.09.2010, 18:38  [ТС]     Головоломка о голландском флаге #5
Shaper,
Идея интересная...Но наверно здесь должно быть что-то посложнее...Хотя раз непонятно, что от нас хотят, то видимо придется такой код написать.
Shaper
22 / 22 / 2
Регистрация: 05.05.2010
Сообщений: 82
21.09.2010, 22:17     Головоломка о голландском флаге #6
Я немножко усовершенствовал код:
C++
1
2
3
printf("Введите а,b,c:");
getchar();
printf("\na=1, b=0, c=2\n");
И переменных не нужно. Главное, чтобы программа выдавала желаемый результат. Она его выдает. И без использование if, что самое характерное!
PointsEqual
ниначмуроФ
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
21.09.2010, 22:37     Головоломка о голландском флаге #7
a = 0, b = 1, c = 2
и надо поменять значения чтобы стало
a = 1, b = 0, c = 2 ???

тогда это простой обмен 2 переменных без 3-ей:
a = a+b
b = a-b
a = a-b
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2010, 22:39     Головоломка о голландском флаге
Еще ссылки по теме:

Головоломка о путешествии коня C++
C++ Головоломка
C++ Головоломка Хитори
C++ Головоломка "Двоичный код"
Головоломка C++

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4952 / 3028 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
21.09.2010, 22:39     Головоломка о голландском флаге #8
PointsEqual,
Неее, вы всё слишком упрощаете... Суть задания как раз в том, что никто не знает, что всё-таки требуется сделать...
Yandex
Объявления
21.09.2010, 22:39     Головоломка о голландском флаге
Ответ Создать тему
Опции темы

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