Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Pascal   Найти похожие ветки 

 
Defunct ©   (2004-11-17 04:22) [40]

> Тоже самое, но чтобы
> if First > max then First := 0

или еще тупее:
First := First * byte( First <= Max );


 
Defunct ©   (2004-11-17 04:33) [41]

> First:=First+1;
> if First>max then
> First:=1

 First := 1+(First * byte(First < Max));


 
Pat ©   (2004-11-18 12:06) [42]

Defunct ©   (17.11.04 0:30) [36]
Это уже олимпиадная задачка. Больше интересуют задачи на формат данных, хранение в памяти (например то, что в памяти вначале записываются младшие байты для word, integer) и т.д.
>jack128 ©   (17.11.04 1:53) [37]
Напиши как.. :)


 
_Lucky_   (2004-11-18 23:35) [43]

Pas
First := (byte (Not ((First + 1) > Max))) * (First + 1) + (byte (((First + 1) > Max)));
- хрен разберешь, предидущие решения куда приятнее :-)

C++
nFirst = (((nFirst+1) > nMax) ? (1) : (nFirst+1));


 
Defunct ©   (2004-11-19 01:16) [44]

_Lucky_  
А [40] видели.
First := First * byte( First <= Max );

Pas все таки лучше.


 
Кто---то ©   (2004-11-19 03:09) [45]


> Тестировщица ©   (12.11.04 21:26) [13]
> Verg ©   (12.11.04 21:07) [6] Может, лучше  так:
> First:=(First mod max)+1;

Между прочим на ассемблере это шесть команд, а вариант со сложением и условием только пять. Кроме того понятность и читаемость кода с условием и прибавлением единицы куда выше, чем этой формулы.


 
SergP ©   (2004-11-19 05:13) [46]


>  [32] Pat ©   (16.11.04 23:20)
> >SergP ©   (16.11.04 22:21) [31]
> Строки одинаковой длины? :-)


Допустим имеются две нуль-терминальных строки (pchar) одинаковой длины.

Дополнительных переменных не использовать совсем.


 
Pat ©   (2004-11-20 00:32) [47]

Извините за долгое отсутствие - жена, работа.. :)
>SergP ©   (19.11.04 5:13) [46]
var p1,p2:PChar;
begin
p1:="В лесу родилась елочка";
p2:="В лесу она росла";
showmessage(p1+#13+p2);
p1:=pointer(integer(p1) xor integer(p2));
p2:=pointer(integer(p1) xor integer(p2));
p1:=pointer(integer(p1) xor integer(p2));
showmessage(p1+#13+p2);
end;


 
default ©   (2004-11-20 00:50) [48]

First := Byte(First + 1 <= max) * First + 1


 
Defunct ©   (2004-11-20 01:28) [49]

default ©   (20.11.04 00:50) [48]

[41]
на одно сложение меньше


 
default ©   (2004-11-20 01:36) [50]

Defunct ©   (20.11.04 01:28) [49]
да, не принципиально
но вряд-ли в книге такой изврат имелся ввиду скорее просто if


 
Кто---то ©   (2004-11-21 02:39) [51]

А такое задание.
Можно ли одной формулой сделать следующее :

if      v >  77 then v :=  77
else if v < -77 then v := -77;


 
GuAV ©   (2004-11-21 02:44) [52]

Кто---то ©   (21.11.04 2:39) [51]
:)
v := v * ord(abs(V) < 77) + ord(abs(v) >= 77) * 77 * sign(v);


 
Кто---то ©   (2004-11-21 03:17) [53]


> GuAV ©   (21.11.04 02:44) [52]
> Кто---то ©   (21.11.04 2:39) [51]
> :)
> v := v * ord(abs(V) < 77) + ord(abs(v) >= 77) * 77 * sign(v);


С логическими операторами и дурак сделает.


 
KilkennyCat ©   (2004-11-21 03:26) [54]


> Кто---то ©   (21.11.04 03:17) [53]


> С логическими операторами и дурак сделает.


то есть, если я не смогу, я - вообще даун?
нафига спрашивали, если такой умный.


 
Кто---то ©   (2004-11-21 04:19) [55]

Ну, чего никто не может ?
А используя всякие and or xor и т п ?


 
jack128 ©   (2004-11-21 12:36) [56]

Pat ©   (18.11.04 12:06) [42]
вот примерно так:
Pat ©   (20.11.04 0:32) [47]

;-)



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

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.037 c
1-1101079371
TechnoDreamer
2004-11-22 02:22
2004.12.05
Удаление ветки с дочерними элементами TTreeView


14-1100534465
vasilii
2004-11-15 19:01
2004.12.05
profiler для Delphi7


4-1098216214
DS
2004-10-20 00:03
2004.12.05
выключить компьютор Win2000


1-1101273386
VDC
2004-11-24 08:16
2004.12.05
Delphi6 + Excel


1-1100693283
Ученик
2004-11-17 15:08
2004.12.05
Преобразование времени





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский