Форум: "Потрепаться";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
ВнизПостройте алгоритм: Найти похожие ветки
← →
kostya2000 (2003-03-26 15:44) [0]Есть две переменные A и B, постройте алгоритм который будет менять значение A и B без третей переменной!
← →
Clickmaker (2003-03-26 15:47) [1]Так у тебя 3 переменные: А и В
и := A
A := B
B := и
← →
Катерина (2003-03-26 15:49) [2]для чисел
A := A+B;
B := A-B;
A := A-B;
← →
kostya2000 (2003-03-26 15:54) [3]
> Clickmaker © (26.03.03 15:47)
> Так у тебя 3 переменные: А и В
> и := A
> A := B
> B := и
Оч" умно, программером тебе не быть (не в обиду).
> Катерина © (26.03.03 15:49)
> для чисел
> A := A+B;
> B := A-B;
> A := A-B;
Есть и другой путь, но если ты сама придумала этот алгоритм то наконец есть хоть одна женщина программист!
← →
Dok_3D (2003-03-26 15:59) [4]Вау... Теперь значки мастера Костя всем раздает.
← →
Феликс (2003-03-26 15:59) [5]>программером тебе не быть
kostya2000
Судя по предыдущим темам тебе тоже (не в обиду) :)
← →
Ru (2003-03-26 16:08) [6]>kostya2000 © (26.03.03 15:44)
любая уважающая себя книжка по алгоритмам рассказывает этот алгоритм
← →
Digitman (2003-03-26 16:09) [7]Swap() - и всех делов !))
← →
Clickmaker (2003-03-26 16:11) [8]Digitman © (26.03.03 16:09)
Не, Swap это неинтересно! asm xchg - вот рулез форева!
← →
Vlad Oshin (2003-03-26 16:13) [9]
> asm xchg
тогда регистр = третья переменная
← →
Digitman (2003-03-26 16:31) [10]xchg - тож нехило))
эхх, понеслись вразнос - кто круче !)
FXCH -на ту ж тему))
← →
Clickmaker (2003-03-26 17:05) [11]kostya, открой секрет, не томи! Я ж спать сегодня не буду!
← →
pasha676 (2003-03-26 17:44) [12]
> > asm xchg
>
> тогда регистр = третья переменная
Да, но в алгоритме
> > A := A+B;
> > B := A-B;
> > A := A-B;
Во многих процессорах тоже будет использоваться третий регистр - аккумулятор.
В IBM ассемблере xchg, afaik, аккумулятор не использует.
← →
Palladin (2003-03-26 18:06) [13]уровень школьной олимпиады по информатике...
← →
NetBreaker666 (2003-03-26 18:20) [14]
> > > A := A+B;
> > > B := A-B;
> > > A := A-B;
А не думали, что с переполнением проблемы будут ?
A:=A xor B;
B:=A xor B;
A:=A xor B;
← →
alxx (2003-03-26 18:21) [15]Не. Это в десятом классе в учебнике информатики в синем таком написано. Я помню (правда это лет восемь назад было). Меня еще училка убеждала, что нельзя так поменять значения двух переменных.
← →
Ksanka (2003-03-26 18:25) [16]
> > Катерина © (26.03.03 15:49)
> > для чисел
> > A := A+B;
> > B := A-B;
> > A := A-B;
>
>
> Есть и другой путь, но если ты сама придумала этот алгоритм
> то наконец есть хоть одна женщина программист!
> Вау... Теперь значки мастера Костя всем раздает.
а мне значок? я тоже так могу, и не только так, еще вот как:
А:= А*В
значок дадите? :):):):):)
← →
Palladin (2003-03-26 20:04) [17]нет, не дадим, ибо это к требуемому результату не приведет...
← →
wicked (2003-03-26 20:12) [18]ну если про асм, то xchg по любому должен один регистр использовать.... но есть способ и без него:
push A
push B
pop A
pop B
:)
← →
Palladin (2003-03-26 20:17) [19]
> alxx © (26.03.03 18:21)
ну у нас таки учебников небыло... поентому включили в задание...
ЗЫ ох уж эти учителя, я с ними ругался часто, ибо они считали (они были просто уверены), что алгоритмы не верны, потому что понять не могли :))
А один препод в колледже (казалось бы уровень повыше чем в школе) утверждал, что такая инициализация массива в процедуре, будет работать
type
tarray=array [1..10] of byte;
procedure proc1(a:tarray);
var
i:integer;
begin
for i:=1 to 10 do a[i]:=i;
end;
хотя я его предупреждал...
громогласно...
на всю аудиторию :))
← →
Infeligo (2003-03-26 22:17) [20]A := A + 1;
B := B - 1;
← →
Marser (2003-03-26 23:24) [21]a:=random(a+b)
b:=random(a+b)
> kostya2000 ©
Слушай, тебе не кажется, что ты ещё слишком соплив, чтобы оценивать взрослых мужиков?Прочитав анкету Clickmaker"a, ты узнаешь о его высшем образовании и т.д. Другие тебя терпят, а я таких не терплю.
← →
Uncle Archi (2003-03-26 23:28) [22]>Катерина © (26.03.03 15:49)
Логично...
>wicked © (26.03.03 20:12)
Высказал мою мысль
>Palladin © (26.03.03 20:17)
Кто не понял: несоттветствие типов:
i: Integer
a:array [1..10] of byte
← →
Palladin (2003-03-26 23:38) [23]
> Uncle Archi © (26.03.03 23:28)
да даже и не это...
это то ладно, даже при i=257, a[257] будет равно 1, но на это тоже стоит обратить внимание...
важно то что
procedure proc1( var a:tarray);
← →
kostya2000 (2003-03-28 15:05) [24]
> Marser © (26.03.03 23:24)
> > kostya2000 ©
> Слушай, тебе не кажется, что ты ещё слишком соплив, чтобы
> оценивать взрослых мужиков?Прочитав анкету Clickmaker"a,
> ты узнаешь о его высшем образовании и т.д. Другие тебя терпят,
> а я таких не терплю.
Согласен, но я никого не оценивал, и попросил его не злиться на меня за слова:
> Оч" умно, программером тебе не быть (не в обиду).
← →
kostya2000 (2003-03-28 15:06) [25]
> Феликс © (26.03.03 15:59)
> >программером тебе не быть
>
> kostya2000
> Судя по предыдущим темам тебе тоже (не в обиду) :)
:)))
← →
kostya2000 (2003-03-28 15:07) [26]
> Clickmaker © (26.03.03 17:05)
> kostya, открой секрет, не томи! Я ж спать сегодня не буду!
А кто сказал что переменные не типа String? :))))))))))))))))))))
← →
Palladin (2003-03-28 15:39) [27]
> kostya2000 © (28.03.03 15:07)
var
s1,s2:string;
integer(s1):=integer(s1)+integer(s2);
integer(s2):=integer(s1)-integer(s2);
integer(s1):=integer(s1)-integer(s2);
что то не так?
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.007 c