Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2010, 17:43   #1
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию функция hor

помогите. имеется строка 1E 00 0C D1 00 07 00 01 00 03 00 01 60 00 72 D5 (байты). последние 2 байта это чексумма (72 D5). вычисляется она так -
horятся сначало все нечетные байты- получается 72. затем все (и четные и нечетные) и получается D5. помогите написать процедуру
fize вне форума Ответить с цитированием
Старый 14.01.2010, 18:06   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,864
По умолчанию

Не hor, а xor.
Где Ваши наработки?
Arigato вне форума Ответить с цитированием
Старый 14.01.2010, 18:26   #3
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Не hor, а xor.
Где Ваши наработки?
ошибся. вот они http://programmersforum.ru/showthread.php?t=80700
fize вне форума Ответить с цитированием
Старый 14.01.2010, 18:35   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,864
По умолчанию

Ну так и что конкретно не получается?
Arigato вне форума Ответить с цитированием
Старый 14.01.2010, 18:46   #5
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Ну так и что конкретно не получается?
неверно считает
fize вне форума Ответить с цитированием
Старый 14.01.2010, 18:50   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,864
По умолчанию

Приведите здесь Вашу функцию подсчёта.
Arigato вне форума Ответить с цитированием
Старый 14.01.2010, 19:08   #7
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Приведите здесь Вашу функцию подсчёта.
procedure checksum(strInp : string; var rE, rO : byte);
var i, i1 : longint;
begin
i1 := length(strInp);
For i:=1 to i1 do
if i mod 2 = 1 then
rE := rE XOR ord(strInp[i])
else
rO := rO XOR ord(strInp[i])
end;
fize вне форума Ответить с цитированием
Старый 14.01.2010, 19:13   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,864
По умолчанию

1. Инициализируем переменные: rE, rO - присвоить нули (или они вне процедуры инициализированы?)
2. В rO ксорятся только чётные, а по условию у Вас: "затем все (и четные и нечетные)". Т.е. его надо ксорить вне зависимости от проверяемого условия, просто после if поставьте, без else
Arigato вне форума Ответить с цитированием
Старый 14.01.2010, 19:18   #9
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Цитата:
procedure checksum(strInp : string; var rE, rO : byte);
var i, i1 : integer;
begin
i1 := length(strInp);
For i:=0 to i1 do
if i mod 2 = 1 then
rE := rE XOR ord(strInp[i]);

rO := rO XOR ord(strInp[i])
end;
так?
Цитата:
1. Инициализируем переменные: rE, rO - присвоить нули (или они вне процедуры инициализированы?)
нет. как им присвоить нули?
fize вне форума Ответить с цитированием
Старый 14.01.2010, 19:27   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,864
По умолчанию

Цитата:
Сообщение от fize
так?
Нет, не хватает составного оператора.
Цитата:
Сообщение от fize
как им присвоить нули?
Код:
rE := 0;
rO := 0;
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция gets U-S Общие вопросы C/C++ 6 14.11.2009 13:49
функция Cpluser Общие вопросы C/C++ 2 28.02.2009 23:08
функция Dialon Помощь студентам 4 02.02.2009 23:15
Функция Kloun1 Паскаль, Turbo Pascal, PascalABC.NET 5 24.01.2009 19:56
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50