{ Функция суммирования двух ОДЦ через строки } function Tform1.ODC(s1: string; s2: string): string; var perenos: integer; //переменная содержащая цифру, переносимую в след. разряд temp: integer; //переменная под вычисления res: string; // Результат begin perenos:=0; temp:=0; //для начала проверим одинаковой ли длинны строки, if length(s1)<>length(s2) then //если нет - добьём нулями слева меньшую строку begin {http://rucode.blogspot.ru/} if length(s2)>length(s1) then while length(s2)<>length(s1) do s1:='0'+s1 else while length(s2)<>length(s1) do s2:='0'+s2; end; //мы будем работать только с последними цифрами числа while (Length(s1)>0) and (Length(s2)>0) do begin //суммируем 2 числа и добавляем число, которое перенесли из предыдущей суммы temp:=StrToInt(s1[length(s1)])+StrToInt(s2[length(s2)])+perenos; //записываем цифру которую будем переносить в след разряд perenos:=temp div 10; //берем остаток от деления на 10 получаем цифру, //которая останется в текущем разряде temp:=temp mod 10; //добавляем сумму в конец результата res:=IntToStr(temp)+res; //удаляем последние цифры в строках delete(s1,length(s1),1); delete(s2,length(s2),1); end; //допишем перенос if perenos<>0 then res:=IntToStr(perenos)+res; result:=res; end; {http://rucode.blogspot.ru/}
17 дек. 2012 г.
Delphi Функция суммирования двух ОДЦ через строки
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий