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

> ВНИМАНИЕ!

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

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


Новичок
*

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

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


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

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


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

 



- Текстовая версия 21.07.2025 20:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"