Написать рекурсивно функцию для вычисления: 1.) Сумы цифр натурального числа 2.) Количество цифр натурального числа
Я вообще двоюшник так что не судите строго
написал я так:
Program ex657;
uses crt;
var num,sum,kol:integer;
{--------------------------FUNCTION------------------------------------}
function cout_sum(var n:integer;var s:integer;var k:integer):boolean;
var mo:integer;
pr:boolean;
begin
mo:=n mod 10;
n:=n div 10;
s:=s+mo;
inc(k); {функция типа k:=k+1;}
if n<>0 then begin pr:=cout_sum(n,s,k); end else cout_sum:=false;
end;
{--------------------------END FUNCTION---------------------------------}
{---main program---}
begin
clrscr;
writeln('Введите число=');
readln(num);
write('Для числа=',num);
cout_sum(num,sum,kol);
writeln(' Сума=',sum,' Количество=',kol);
readkey;
Преподаватель сказал что это вообще не рекурсия и не правильно то что я написал... хотя задача то работает...
общем надо бы как то переделать но как не подскажите? Пожалуйста....
Сообщение отредактировано: Димас -