Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в заданную систему счисления с любым основанием от 2 до 9. используйте процедуру. входные данные : 25 3 выход: 221 входные: -38 9 выходные: -42
Function Dec2n(dec,n:integer):string; var d:byte; ch:char; s,sgn:string; begin s:=''; if dec<0 then begin sgn:='-'; dec:=-dec end else sgn:=''; while dec>0 do begin d:=dec mod n; ch:=Chr(Ord('0')+d); s:=ch+s; dec:=dec div n end; Dec2n:=sgn+s end;
var m,n:integer; begin Write('Введитt целое десятичное число и основание для перевода (2-9): '); Read(m,n); Writeln(Dec2n(m,n)) end.
var
d:byte;
ch:char;
s,sgn:string;
begin
s:='';
if dec<0 then begin sgn:='-'; dec:=-dec end
else sgn:='';
while dec>0 do
begin
d:=dec mod n;
ch:=Chr(Ord('0')+d);
s:=ch+s;
dec:=dec div n
end;
Dec2n:=sgn+s
end;
var
m,n:integer;
begin
Write('Введитt целое десятичное число и основание для перевода (2-9): ');
Read(m,n);
Writeln(Dec2n(m,n))
end.
Тестовое решение
25 3
221
-38 9
-42