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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2013, 18:27   #21
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var  i,k,j:integer;
s:string;
begin
  Edit1.Text:=Trim(Edit1.text);
  if edit1.text='' then exit;
  RichEdit1.clear;
    k:=0;
    for i:=length(Edit1.text) downto 1 do
    if Edit1.Text[i]='1' then
    begin
      s:= bin(length(Edit1.text)-i+1);
      RichEdit1.Lines.Add(IntToStr(length(Edit1.text)-i+1)+'='+bin(length(Edit1.text)-i+1));
      k:=k xor (length(Edit1.text)-i+1);
    end;
    RichEdit1.Lines.Add('-----------------------------');
    RichEdit1.Lines.Add(IntToBin(k,length(s)));
    Edit1.SetFocus;
end;
Все работает, теперь сижу тестирую, но думаю в принципе ошибок возникнуть не должно, спасибо всем кто помогал мне
from dark to light)

Последний раз редактировалось Алексей_2012; 09.03.2013 в 18:31.
Алексей_2012 вне форума Ответить с цитированием
Старый 09.03.2013, 19:35   #22
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Вот полностью рабочее нахождение избыточности, а как к переменной l прибавить содержимое(тоже двоичное) из edit2.text? тоже по модулю 2

Код:
procedure TForm1.Button1Click(Sender: TObject);
var  poruadok,i,k,j:integer;
s,l:string;
begin
    k:=0;
poruadok:=0;
 RichEdit1.Lines.Add('1)   Ïîèñê èçáûòî÷íîñòè ìåòîäîì Õåìèíãà.');
 RichEdit1.Lines.Add('-----------------------------------');
  RichEdit1.Lines.Add('Âû ââåëè òàêîé êîä: '+edit1.text);
 RichEdit1.Lines.Add('-----------------------------------');
 RichEdit1.Lines.Add('2)   Âûïèñûâàåì âñå ïîðÿäêîâûå íîìåðà åäèíè÷åê íà÷èíàÿ ñ 1 è ïåðåâîäèì â äâîè÷íûé âèä');
  RichEdit1.Lines.Add('-----------------------------------');
    for i:=length(Edit1.text) downto 1 do
    if Edit1.Text[i]='1' then
    begin
      s:= bin(length(Edit1.text)-i+1);
      RichEdit1.Lines.Add('        '+inttostr(poruadok)+')    '+IntToStr(length(Edit1.text)-i+1)+'='+s);
      k:=k xor (length(Edit1.text)-i+1);
      inc(poruadok);
    end;
    RichEdit1.Lines.Add('-----------------------------------');
    RichEdit1.Lines.Add('3)   Ñêëàäûâàåì äâîè÷íûå ïîðÿäêîâûå íîìåðà...');
     RichEdit1.Lines.Add('-----------------------------------');
    l:= IntToBin(k,length(s));
    RichEdit1.Lines.Add(l);
    RichEdit1.Lines.Add('-----------------------------------');
    RichEdit1.Lines.Add('4)   Èíâåðòèðóåì ïîëó÷åííóþ ñóììó...');
     RichEdit1.Lines.Add('-----------------------------------');
    for i:=1 to Length(l) do if l[i]='1' then l[i]:='0' else l[i]:='1';
    RichEdit1.Lines.Add(l);
    RichEdit1.Lines.Add('-----------------------------------');
    RichEdit1.Lines.Add('Âû ïîëó÷èëè èçáûòî÷íûé êîä: '+l);
    Edit1.SetFocus;
end;
from dark to light)

Последний раз редактировалось Алексей_2012; 09.03.2013 в 19:38.
Алексей_2012 вне форума Ответить с цитированием
Старый 10.03.2013, 16:57   #23
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

надо написать l:=L XOR (LENGTH(EDIT2.TEXT))?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 10.03.2013, 17:07   #24
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
надо написать l:=L XOR (LENGTH(EDIT2.TEXT))?
Алексей_2012, а что из этого получится? При чем длина текста в едите? Преобразуйте двоичную запись из эдита в Integer, и только после этого XOR.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.03.2013, 17:18   #25
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Точно, сейчас постараюсь, кстати, пытался добавить вам еще репутации, пишет что надо еще кому то добавить х) не пойму этой системы
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 10.03.2013, 19:40   #26
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

дак вить в переменной l-строковые символы из 1 и 0, в edit2 тоже строковое число из 1 и 0, как преобразовать?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы - не тот результат. amuleg Общие вопросы C/C++ 6 24.01.2012 14:25
не выводится результат rinatey Помощь студентам 0 06.12.2011 16:04
код Хеминга world12_tk Помощь студентам 0 02.06.2011 19:31
Код написал код, но ответ постоянно один и тот же SkuLLL Помощь студентам 4 14.12.2010 19:25
Не тот результат! Dawystrik Общие вопросы Delphi 3 22.03.2009 09:50