Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
3-44071
maksyaha
2003-03-26 02:25
2003.04.14
Как присоединить файл DBF к программе


3-44014
gal
2003-03-24 13:59
2003.04.14
БД


3-44008
Suharew
2003-03-23 23:05
2003.04.14
SQL- как показать записи из 2-х таблиц


3-44067
lats
2003-03-25 16:00
2003.04.14
Отчет в Delphi


3-43989
AlexC
2003-03-24 12:11
2003.04.14
InterBase в качестве СУБД для





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