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

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

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

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

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

Даны три числа - a, b, c. Они равны 0,1,2, но не упорядочены. Не используя if поменять их местами так, чтобы а=1, b=0, с=2.
Может кто-нибудь сталкивался с подобным? А то я что-то даже не понимаю, что от меня хотят...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2010, 17:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Головоломка о голландском флаге (C++):

Головоломка - C++
Скучно как-то на форуме, нету интересных задач. Вот решил для общего развития задать "загадку": как на этапе компиляции, пользуясь...

Головоломка - C++
//PC1.cpp== Считывает числа с текстового файла и записывает в массив. #include <fstream> #include <iostream> int SIZE = 50; using...

Головоломка - C++
Я ломаю мозг, не знаю что делать помогите. Пытался вспоминать программач, не помогло, кто ответ знает ? #include<iostream> #include...

Головоломка Хитори - C++
Выберите на сайте Nikoli любую головоломку, кроме судоку: http://www.nikoli.co.jp/en/puzzles/. Напишите для неё функцию, которая получает...

Интересная головоломка - C++
1.С помощью текстового редактора создать файл который содержит текст.Длина ряда с текстом не должна превышать 80 символов.Это входной файл....

интересная головоломка - C++
помоготе решить задачу про спички я уже неделю голову ломаю....Даны n-спичек и 2 игрока,каждый может вытянуть от 1 до 3 спичек...выигрывает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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 !!!
1
easybudda
21.09.2010, 18:07
  #3

Не по теме:

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

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

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

n - число камешков в столбике.
0
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
21.09.2010, 18:38  [ТС] #5
Shaper,
Идея интересная...Но наверно здесь должно быть что-то посложнее...Хотя раз непонятно, что от нас хотят, то видимо придется такой код написать.
0
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, что самое характерное!
0
PointsEqual
ниначмуроФ
835 / 519 / 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
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
21.09.2010, 22:39 #8
PointsEqual,
Неее, вы всё слишком упрощаете... Суть задания как раз в том, что никто не знает, что всё-таки требуется сделать...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2010, 22:39
Привет! Вот еще темы с ответами:

Очень интересная головоломка.. - C++
Дан массив целых чисел (n=10); Переставить элементы след образом a,a,a,a,a,a..... Целый день думаю, ничего на ум не...

головоломка для знающих... - C++
Описать функцию Ln1(x, ) вещественного типа (параметры x,  — вещественные, |x| &lt; 1,  &gt; 0), находящую приближенное значение функции ln(1...

Головоломка о путешествии коня - C++
Задача - составить такую последовательность ходов, при которой конь может обойти всю шахматную доску, побывав на каждой клетке лишь один...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.09.2010, 22:39
Ответ Создать тему
Опции темы

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