Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интересная задача. Точнее её решение. 
:(
    Опции темы
Pakshin A. S.
Дата 4.12.2004, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Правильно!!! smile
PM   Вверх
Zero
Дата 4.12.2004, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Что-то я непонял: smile Вот это-т код
Код

m:=m XOR a[i];
нужно записать за место этого
Код

if a[i] in m then m:=m-[a[i]]
 else m:=m+[a[i]];
который я писал, так что-ли???
Что-то у меня он не компилится... И кстати, что знаит побитовое исключающее Или двух выражений (я не понял что написано в справке) и почему, если пишеш
Код

var
 i:byte;
...
begin
i:=4 XOR 3
end.
в результате получается что они складываются???
PM MAIL ICQ   Вверх
cardinal
Дата 4.12.2004, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Zero
Дата 4.12.2004, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



cardinal, немог бы мелкую подсказку дать, а то я не понял по твоей ссылке, что делает XOR... Конечно раз ты знаеш что он делает, тебе понятно, а если не знаешь то по тому как там написано трудно её разобрать. smile А в справке Паскаля, написано плохоsmile , т.к. нету примера по её использованию
Добавлено @ 19:57
чуть не забыл, а почему код не компилится???
PM MAIL ICQ   Вверх
cardinal
Дата 4.12.2004, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Код

XOR.¦...0...¦..1
------+------+----
..0....¦...0...¦..1
------+------+----
..1....¦...1...¦..0

Вот таблица... Из нее выходит: из разных значение (0 1 и 1 0) получается 1, а одинаковых (0 0 и 1 1) 0.

На примере двух байт получим:

01101010 (106)
xor
01101101 (109)
=
00000111 (7)

Попробуй сделать тоже самое в калькуляторе Винды.
Цитата(Zero @ 4.12.2004, 17:26)
в результате получается что они складываются???

А это только иногда получается smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
S.A.P.
Дата 4.12.2004, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



Цитата(Zero @ 4.12.2004, 19:55)
чуть не забыл, а почему код не компилится???
объяви переменную m как integer. Вроде должно работать.

PM MAIL   Вверх
Zero
Дата 4.12.2004, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Perchilla @ 4.12.2004, 21:30)
объяви переменную m как integer. Вроде должно работать.
Если ты имеешь ввиду, в моём примере переменную m, объявить как integer, то сто пудов работать не будет, т.к. у меня
Код

m:Set of byte;
множество, а в него не может входить более 255 элементов, так что похоже твой код не работает...
А хотя наверно я что-то всё равно не так сделал, не мог бы ты прислать свой код полностью...
cardinal, спасибо смысл понял!!!
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 4.12.2004, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



короче:
Код

var
a:array [1..9] of integer;
y: integer;
i:integer;
begin
<...>
y:=a[1];
for i:=2 to 9 do
 y:=y xor a[i];
writeln('Число без пары -> ', y);
<..>
end.

PM   Вверх
S.A.P.
Дата 4.12.2004, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



Цитата(Zero @ 4.12.2004, 22:13)
Если ты имеешь ввиду, в моём примере переменную m, объявить как integer, то сто пудов работать не будет, т.к. у меня
блин, да не в твоем примере, а в моем!!!! Твой пример я не знаю, почему не компилится. И не set of integer, а просто integer.

Добавлено @ 22:37
Только щас заметил, что Pakshin A. S. уже написал.

Это сообщение отредактировал(а) Perchilla - 4.12.2004, 22:39
PM MAIL   Вверх
Zero
Дата 4.12.2004, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Спасибо за разяснение, ваши мысли понял!!!
Добавлено @ 22:50
Цитата
Твой пример я не знаю, почему не компилится.
Он не компилился по этому
Цитата
И не set of integer, а просто integer.

PM MAIL ICQ   Вверх
S.A.P.
Дата 4.12.2004, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



Pakshin A. S. а зачем так?
Код

y:=a[1];
for i:=2 to 9 do
 y:=y xor a[i];

когда можно так
Код

for i:=1 to 9 do
 y:=y xor a[i];

smile smile
Просто я подумал, что если Y будет нулевой, то XOR с первым элементом будет равносилен присваиванию.
PM MAIL   Вверх
Pakshin A. S.
Дата 4.12.2004, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Вот этого я не помню... По-моему ты прав.
PM   Вверх
Dayana
Дата 5.12.2004, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: нет
Всего: 4



У нас такие задачки на собеседовании при приеме на работу задают... smile
PM MAIL ICQ   Вверх
Леша
Дата 7.12.2004, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 7.11.2004
Где: Менск, Беларуская НР

Репутация: нет
Всего: 1



А тепер попробуем с Single'ом...
PM MAIL ICQ   Вверх
Zero
Дата 8.12.2004, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Ладно, раз уж здесь больше никто ничего не предложил, то окончательно утвердим метод Perchilla:, как самый простой. smile
Код

Program pr;
var
  i,m,n:integer;
begin
    for i:=1 to 9 do
      begin
        write(i,'─oe числo>');
        readln(n);
        m:=m XOR n;
      end;
    writeln('Число не имеющее пары=',m)
end.


Это сообщение отредактировал(а) Zero - 8.12.2004, 00:35
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.