Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Вниз

Помогите с xor разобраться   Найти похожие ветки 

 
pumberman   (2004-11-14 08:43) [0]

почему a xor b не работает в паскале?
a и b одинаковой длины. это строки. почему?

а вообще надо решить задачу такую:
“Арагорн очень обрадовался лодкам, ибо он все еще не мог решить, по какому берегу вести Отряд. Остальные Хранители тоже приободрились. Впереди их ждали великие опасности, в этом ни один из них не сомневался; ну а все-таки плыть навстречу опасностям гораздо приятней, чем тащиться пешком. Всеобщей радости не разделял лишь Сэм: он был уверен, что речные лодки гораздо опаснее диких кобылиц (которых, как он думал, вообще не бывает).”
Осторожный Сэм даже решил лично выбрать ту лодку, на которой поплывёт он. Сэм долго ходил по берегу, с недоверием изучая хрупкие на вид суда и аккуратно переписывая названия каждой из них. Последняя лодка ему понравилась больше... Он придирчиво её осмотрел, и решил, что если уж суждено плыть, то лучше на этой. Но вышла незадача — вечером Сэм понял, что как раз  название этой лодки на радостях и не записал. Он вернулся на берег — и понял, что лодки уже как-то переставлены — правда, ни одна не исчезла и не появилась. Повторять розыски просто не было сил. “Садовая твоя голова, Сэм”, — ругался он на себя, но надо было что-то делать. Сэм переписал названия всех лодок, надеясь потом найти ту, которой нет в первом списке. Но беда не приходит одна — по дороге назад он умудрился перетасовать листы этих двух списков.          
Необходимо найти в получившемся большом списке выбранную лодку.


 
KilkennyCat ©   (2004-11-14 08:49) [1]

- Что же там написано, Фродо?
- var a,b, lodka : string; lodka := a xor b...
- Этого я и боялся! Паскаль! - Гэндальф в ужасе и с воем бросился прочь...


 
pumberman   (2004-11-14 08:59) [2]

да, так написано. ну напиши решение на си, если хочешь :)


 
KSergey ©   (2004-11-14 09:58) [3]

> [2] pumberman   (14.11.04 08:59)

Ты задачу решать пробовал? Если да - пиши сюда, будем ошибку искать (если есть). Если не пробовал - тогда тебе в пункт платных услуг.


 
pumberman   (2004-11-14 10:00) [4]

- Что же там написано, Фродо?
- var a,b, lodka : string; lodka := a xor b...
- Этого я и боялся! Паскаль! - Гэндальф в ужасе и с воем бросился прочь...

вот она ошибка. блин. он даже чары xor не хочет


 
KSergey ©   (2004-11-14 10:33) [5]

> [4] pumberman   (14.11.04 10:00)
> вот она ошибка. блин. он даже чары xor не хочет

А ты пробовал?


 
pumberman   (2004-11-14 10:38) [6]

конечно :))). вы издеваетесь чтоли? :)


 
KSergey ©   (2004-11-14 10:40) [7]

> [6] pumberman   (14.11.04 10:38)
> конечно


Ну продолжай пробовать по-тихому.

> вы издеваетесь чтоли? :)

Да нет, просто развлекаюсь.


 
Defunct ©   (2004-11-14 12:08) [8]

Гендальф предлагает сл. пример.

Var List : Array of String; { Большой список всех лодок }

// Вначале проксорим все первые буквы
// (ведь названия лодок обязательно включают хотя бы одну букву),
// так мы найдем первую букву искомого названия:

Var Ch : Char;

Ch := #0;
for I:=0 to Length(List) do Ch := Char(Byte(Ch) xor Byte(List[i][1]));

// здесь Ch содержит букву с которой начинается название лодки

// Дальше все зависит от Вас, господин, СЭМ


 
Defunct ©   (2004-11-14 12:10) [9]

[8]

Гендальф еще забыл указать что если список начинается с нуля, то последний элемент будет с индексом - length - 1

for I:=0 to Length(List)-1 do


 
pumberman   (2004-11-14 13:42) [10]

спасибо, товарищь Defunct (хорошо, что не все такие как Ksergey). в общем-то большой список всех лодок не помещается в память, но все-таки кое-что помгло


 
dim- ©   (2004-11-14 20:40) [11]

Может я чего не понял, но у него получилось, что все названия лодок повторяются дважды, кроме одной (та которую выбрали). Можно же пробежать по списку и выбрать ту что одна


 
SergP ©   (2004-11-15 00:06) [12]


>  [11] dim- ©   (14.11.04 20:40)
> Может я чего не понял, но у него получилось, что все названия
> лодок повторяются дважды, кроме одной (та которую выбрали).
> Можно же пробежать по списку и выбрать ту что одна


поXORить проще и быстрее. В результате то что встречается четное кол-во раз не повлияет на сам результат. Т.е. если имеется только одно название встречающееся нечетное кол-во раз  то мы в конце получим именно его.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.031 c
3-1099041383
art
2004-10-29 13:16
2004.11.28
Программная конфигурация BDE


8-1093699861
Кирилл
2004-08-28 17:31
2004.11.28
Ошибка командной строки


1-1100628629
rom
2004-11-16 21:10
2004.11.28
проблемы с перерисовкой надписи


8-1094057952
ZedeS
2004-09-01 20:59
2004.11.28
Создание и перемещение Image


6-1095462159
Comp
2004-09-18 03:02
2004.11.28
Трафик





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский