{ Функция суммирования двух ОДЦ через строки }
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)
Комментариев нет:
Отправить комментарий