Scorpion1991 Опубликовано 21 марта, 2012 Жалоба Опубликовано 21 марта, 2012 Программа написана на delphi, она складывает два двоичных числа, но почему то в ответе выводятся либо одни нули, либо единицы, помогите разобраться.... пожалуйста, что не так?!procedure TForm1.BitBtn5Click(Sender: TObject);var memory, i, j, k: integer; s1, s2, s3: string;begin s1:=edit1.Text; s2:=edit2.Text; s3:=edit3.Text; memory:=0; for i:=length(s3)downto 0 do for j:=length(s2) downto 0 do for k:=length(s1) downto 0 do begin if (memory=1)then if(s1[k]='1') and (s2[j]='1') then begin s3:='1'; memory:=1; end; if(s1[k]='1') and (s2[j]='0') then begin s3:='1'; memory:=0; end; if(s1[k]='0') and (s2[j]='1') then begin s3:='1'; memory:=0; end; if(s1[k]='0') and (s2[j]='0') then begin s3:='1'; memory:=0; end else begin if(s1[k]='1') and (s2[j]='1') then begin s3:='0'; memory:=1; end; if(s1[k]='1') and (s2[j]='0') then begin s3:='1'; memory:=0; end; if(s1[k]='0') and (s2[j]='1') then begin s3:='1'; memory:=0; end; if(s1[k]='0') and (s2[j]='0') then begin s3:='0'; memory:=0; end; end; end; edit3.Text:=s3;end;
Scorpion1991 Опубликовано 21 марта, 2012 Автор Жалоба Опубликовано 21 марта, 2012 блин....никто не знает?!
AgaOnline Опубликовано 22 марта, 2012 Жалоба Опубликовано 22 марта, 2012 Полагаю, что вы тупо переписали с умножения, не задумываясь. Попробуйте пробежать по своему алгоритму переписывая шаги на листочкеОшибка там где слаживиаются 0+0(два нуля) и цикл по-моему должен быть один
Scorpion1991 Опубликовано 25 марта, 2012 Автор Жалоба Опубликовано 25 марта, 2012 Нет, с умножения не переписывал, ну да в принципе можно также умножение организовать, только почему у меня в edite 3 теперь больше 5 знаков не выводятся?
AgaOnline Опубликовано 26 марта, 2012 Жалоба Опубликовано 26 марта, 2012 хз почему 5 знаков.Возможно на форме стоит в параметре поля размер 5 знаков.s3:=edit3.Text; - это в начале убрать, сюда записывается только результат. Может быть уберется проблема с 5 знакамиЦикл при сложении должен быть один. Сложение происходит по разрядам с последних цифр до первой.И еще посмотрите спойлер в моем первом сообщении
ros.pro Опубликовано 27 марта, 2012 Жалоба Опубликовано 27 марта, 2012 предлагаю переписать алгоритм полностью.
chemodan Опубликовано 6 апреля, 2012 Жалоба Опубликовано 6 апреля, 2012 Предлагаю завести ещё одну переменную!
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти