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

Вниз

Постройте алгоритм:   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.019 c
4-44493
Anatoliy
2003-02-12 17:32
2003.04.14
Вызов функции в запущенной программе


14-44376
Supreme 2
2003-03-26 23:34
2003.04.14
Знакомства в Интернете


1-44103
denis24
2003-04-02 19:07
2003.04.14
while not eof(1) do....


7-44461
alexrush
2003-02-14 18:47
2003.04.14
Написание DeviceDriver`ов NT c TService


3-44070
Sergei
2003-03-26 13:52
2003.04.14
ADO DELETE FROM TABLE VREM1