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
|
|
|