Форум: "Основная";
Текущий архив: 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 - 1for 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.48 MB
Время: 0.037 c