IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Задача на расстояние между двоичными кодами, Помогите с решением плииз
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


Расстоянием между двоичными кодами называется количество несовпадающих двоичных разрядов. Например:
0101101
0010101 р=3
-----------
***
Составить функцию Ro (N1,N2), вычисляющую расстояние между двоичными представлениями её целочисленных аргументов N1 N2

Добавлено через 1 мин.
желательно написать самый рациональный алгоритм (язык Delphi консольное приложение)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
мне если можно то побыстрее) завтра уже сдавать(((
Ну, знаешь, это как-то не наши проблемы. Сам дотянул, а теперь тебе срочно надо... Ну, надо - так разбирайся:

program diff;

{$APPTYPE CONSOLE}
uses
SysUtils;

const
size = 32;
type
TIntarr=array[1 .. size] of integer;

Function Ras(n1, n2: integer): integer;

function Perevod(n: integer): TIntarr;
var i: integer;
begin
FillChar(result, sizeof(Tintarr), 0);
i := 0;
while n <> 0 do begin
inc(i);
result[i] := n mod 2;
n := n div 2;
end;
// все остальное - выброшено, потому что не важен порядок чисел,
// если A1 будет "перевернут", то и A2 - тоже, а значит, все будет работать
end;

var
a1, a2: TIntarr;
i: integer;
begin
result := 0;
a1 := Perevod(n1);
a2 := Perevod(n2);
for i := 1 to size do
if a1[i] <> a2[i] then result := result + 1;
end;

var
n1, n2: integer;

begin
Writeln ('vvedi chisla');
Readln(n1, n2);
Writeln(ras(n1,n2));
Readln;
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Lodar'   Задача на расстояние между двоичными кодами   28.01.2009 22:08
volvo   Желательно пользоваться поиском, кстати: задача на…   28.01.2009 23:06
Lodar'   тот алгоритм на кторый вы дали ссылку мне не очень…   28.01.2009 23:19
Lodar'   Вот прога которую я написал. но она почему то не р…   29.01.2009 2:14
volvo   Рабочий? Да. Рациональный? Нет... Поскольку речь ш…   29.01.2009 2:14
Lodar'   ну я так понял что на вход подаются 2 числа типа I…   29.01.2009 2:21
amega   непроще воспользоватся inttoBin функцией, или ее в…   29.01.2009 2:23
Lodar'   непроще воспользоватся inttoBin функцией ну я не…   29.01.2009 2:31
Lodar'   и еще огромная просьба обьяснить ту рациональную ф…   29.01.2009 3:02
Lodar'   мне если можно то побыстрее) завтра уже сдавать(((…   29.01.2009 3:37
volvo   Число типа Integer - это 32-битное (для Дельфи) це…   29.01.2009 3:38
Lodar'   Спасибо большое! а мою прогу можете исправить?…   29.01.2009 3:50
volvo   Ну, знаешь, это как-то не наши проблемы. Сам дотян…   29.01.2009 4:08
Lodar'   ой спасибо) а вот ворпос (n1 and $1) что здес…   29.01.2009 4:10
Lodar'   и непонятно что вот это за строчка еще FillChar(r…   29.01.2009 4:35
volvo   Вообще-то $ перед числом означает, что это чи…   29.01.2009 7:43
Lodar'   Cпасибо большое! я разобрался)))) вы мне очень…   29.01.2009 14:07
Lodar'   Хм...а с отрицательными числами будет прога работа…   30.01.2009 0:50
volvo   Моя функция (ссылка во втором посте) - будет, твоя…   30.01.2009 1:39
Lodar'   =)) твой вариант несовсем прокатил на экзамене(( п…   1.02.2009 15:17
мисс_граффити   хммм... а ничего, что там xor и делается? и как ты…   2.02.2009 7:00
Lodar'   Вы меня не поняли....я имел ввиду только XOR не в …   7.02.2009 15:10
volvo   "Рациональнее" - это когда что-то меняет…   8.02.2009 14:54


 Ответить  Открыть новую тему 
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.09.2025 7:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name