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 Предлагаю завести ещё одну переменную! Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.