Помогите, пожалуйста !!!!
Дана символьная строка, представляющая собой запись натурального числа в р-ичной системе счисления (2 <= р<= 9). Составить программу перевода этого числа в десятичную систему счисления. Нужно сделать, используя РЕКУРСИВНУЮ ФУНКЦИЮ.
в FAQ есть функция по переводу числа из 10-ой в любую и наоборот, но не рекурсивная, попробуй переделать сам.
Мм ну вот проверь это:
function to_dec(const s: String; const p: Byte; const T: Integer): LongInt;
begin
if Length(s) = 0 then to_dec := 0 else
to_dec := (ord(s[Length(s)]) - 48) * T +
to_dec(Copy(s, 1, Length(s) - 1), p, T * p);
end;
begin
writeln(to_dec('1202', 3, 1));
end.
function ToDecR(n:string; radix:longint):longint;
const digit: string[16] = '0123456789ABCDEF';
begin
if length(n) = 0 then ToDecR := 0
else
ToDecR := ToDecR(copy(n, 1, length(n) - 1), radix) * radix +
pos(n[length(n)],digit) - 1;
end;
БОЛЬШОЕ СПАСИБО!!!