Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Обмен значениями без временной переменной
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 ]
Модераторы: paradise, KMA
  

KMA



Долгожитель

Сказал А, говори Б. Решение в студию.
Как минимум две операции. Если для тупых, ты как-нибудь и получишь, что a:=b; b:=a; то уже получишь как минимум две операции, но если есть что-то гениальное, с радостью на это взглянул бы.  

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 16 янв. 2006 13:48 | IP
Unnamed


Новичок

Да бросай ты свой паскаль. C++ рулит :-)

b = – –a + (a=b)*0;

Может, можно и покороче, но мне лень заморачиваться поисками.

(Сообщение отредактировал Unnamed 16 янв. 2006 16:44)

Всего сообщений: 44 | Присоединился: март 2005 | Отправлено: 16 янв. 2006 16:34 | IP
Guest



Новичок

Я имел ввиду такой вариант:
a:=a xor b;
b:=a xor b;
a:=a xor b;

Всего сообщений: Нет | Присоединился: Never | Отправлено: 16 янв. 2006 16:54 | IP
miss_graffiti


Долгожитель

то ли лыжи не едут...
мы о переменных какого типа?

Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 16 янв. 2006 20:27 | IP
KMA



Долгожитель

Ты конечно крут, Unnamed, но запись не имеет принципиально никакой разницы, а это всего лишь  синтаксис и особенности языка, вообще, если хочешь знать С++ мой первый язык, а Паскаль чисто для того, что все под него прогм пишут. (Да и Паскаль чисто случайно изучил, когда с Делфи знакомился).

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 16 янв. 2006 22:41 | IP
Unnamed


Новичок

KMA wrote:

но запись не имеет принципиально никакой разницы, а это всего лишь синтаксис и особенности языка
вообще-то принцип обмена значениями в моём примере другой. Попробуй реализовать его на Паскале, а я посмотрю :-)

а Паскаль чисто для того, что все под него проги пишут
И где же обитают эти толпы сумасшедших?

Да и Паскаль чисто случайно изучил, когда с Делфи знакомился
Вот что в Delphi заставляет страдать лишним геморроем, так это как раз паскалевские «особенности языка» :-)

Всего сообщений: 44 | Присоединился: март 2005 | Отправлено: 17 янв. 2006 0:41 | IP
Unnamed


Новичок


Я имел ввиду такой вариант:
a:=a xor b;
b:=a xor b;
a:=a xor b;

Вот только с вещественными числами такая бодяга не сработает.

А на C++ эт действительно запишется в один оператор:
a^=b^=a^=b;

Всего сообщений: 44 | Присоединился: март 2005 | Отправлено: 17 янв. 2006 12:21 | IP
KMA



Долгожитель


Цитата: Unnamed написал 17 янв. 2006 0:41
[И где же обитают эти толпы сумасшедших?



Я имел ввиду, не для определенного, уже взрослого программирования, а для школьного, перво-второго курса. Первым языком считают именно его, удобен для понимания.
И тем более, ты сравниваешь объектный, с процедурным, что в принципе своем уже неправильно. Поэтому Unnamed, не прыгал бы ты и не ругал, что не поподя.
Паскаль и С разные языки, для разных реализаций, я в четыре раза быстрее под Windows на Delphi прогу напишу, чем на том же С++. Хотя и тот, и другой хороши.  

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 17 янв. 2006 14:25 | IP
Ren


Долгожитель

а вся фишка всего в двух словах: операции и операторы. Задача то была о операциях. То есть а математических операциях, а не о том, как это реализовать в операторах языка.

Всего сообщений: 284 | Присоединился: октябрь 2005 | Отправлено: 17 янв. 2006 15:43 | IP
Guest



Новичок

2 Unnamed Вот только с вещественными числами такая бодяга не сработает

Сработает, если под xor понимать побитовое отксоривание двоичного значения дробных чисел. В языках высокого уровня такой трюк возможен путем извращений с указателями, а на асме все намного проще

Всего сообщений: Нет | Присоединился: Never | Отправлено: 17 янв. 2006 16:46 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 ]

Форум работает на скрипте © Ikonboard.com