Главная страница
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.56 MB
Время: 0.05 c
1-1101111515
BaDeVlad
2004-11-22 11:18
2004.12.05
Непечатаемые символы в RichEdit


14-1100260237
Гайцы-Газазад
2004-11-12 14:50
2004.12.05
Что там Юссуф? Вот вам настоящая новость дня! Я рыдалъ...........


1-1100767528
Jay
2004-11-18 11:45
2004.12.05
Windows Fonts


1-1100825461
fashionguide
2004-11-19 03:51
2004.12.05
Свой текст в Gauge1


1-1100878506
PC
2004-11-19 18:35
2004.12.05
"Полный контроль"