Напишите программу, которая переводит переданное её целое число (возможно, отрицательное)...

0 голосов
682 просмотров

Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в заданную систему счисления с любым основанием от 2 до 9.
Используйте процедуру.
входные данные : 25 3
выход: 221
входные: -38 9
выходные:-42


Информатика (19 баллов) | 682 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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<br>    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

(150k баллов)