Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Двоичное.


Автор: Pussycat 1111111111110 28.12.2005, 21:43
Даны два числа, записанные в двоичной системе счисления. Найдите их сумму. Результат выводите тоже в двоичной системе счисления.

Входные данные
Входной файл состоит из двух строк, в каждой из которых записано неотрицательное целое число в двоичной форме. Длина каждого слагаемого не превышает 6 символов. Лидирующие нули не допускаются.

Выходные данные
Выведите сумму данных чисел в двоичной форме без лидирующих нулей. Ответ выводите в одну строку.

Пример

Ввод

1
1


Вывод

10

нужен код на дельфе 4.0

Автор: Ch0bits 28.12.2005, 23:11
Я не извращенец smile ,но люблю всё делать через строки! smile
Код

program Project2;

{$APPTYPE CONSOLE}

uses SysUtils;

var
  A,B,C:string;
  i,j:byte;
  flag:byte;
  F:TextFile;
begin
  // Ввод данных  A и B
  AssignFile(F,'input.txt');
  try
    Reset(F);
    Readln(F,A); ReadLn(F,B);
  except
    Writeln('System failure! Matrix has you again! :)'); Readln;
    exit;
  end;
  CloseFile(F);
  // Приведение строк к одинакогой длине
  while length(A)<>length(B) do
    if length(A)>length(B) then
      B:='0'+B
    else
      A:='0'+A;
  // Вычисление C=A+B
  C:='';
  flag:=0;
  for i:=length(A) downto 1 do begin
     j:=strtoint(A[i])+strtoint(B[i])+flag;
     flag:=1;
     if j=2 then
       j:=0
     else
       if j=3 then
         j:=1
       else
         flag:=0;
     C:=inttostr(j)+C;
  end;
  if flag=1 then C:='1'+C;
  // Вывод результата C
  Writeln(C); ReadLn;
end.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)