Системы счисления
Добавлено: 26 окт 2009, 19:11
7. Написать программу преобразования введенного десятичного числа в восьмеричный формат
Яська писал(а):7. Написать программу преобразования введенного десятичного числа в восьмеричный формат
Код: Выделить всё
program perevod;
uses crt;
var x, y, rez, k: integer;
begin
clrscr;
writeln ('vvedite x, y');
readln (x, y);
rez:=0;
k:=1;
while x >= y do
begin
rez:=rez + k*(x mod y);
x:= x div y;
k:=k*10;
end;
rez:=rez + k*x;
writeln(rez);
readln;
end.
Куда смотрят модераторы? Тема не соответсвует первому посту." писал(а):. Написать программу преобразования введенного десятичного числа в восьмеричный формат
Код: Выделить всё
function Trans(x,y:integer):string
var i,b,d,z:integer;
s:string;
begin
if y<=1 then Trans:='Не допустимое основание' else
begin
b:=x;
if (b<0) then z:=-1 else z:=1;
s:='';
b:=abs(b);
repeat
d:=b mod y;
b:=b div y;
s:=IntToStr(d)+s;
until (b=0)
end;
if z<0 then s:='-'+s;
Trans:=s;
end;
Не только в синтаксисе. Если res имеет числовой тип, то Write(res) выведет только в десятичном." писал(а):ошибки в синтаксисе
Все прекрасно работает без ошибок, и выдает то что надо!!!atavin-ta писал(а):
Не только в синтаксисе. Если res имеет числовой тип, то Write(res) выведет только в десятичном.
Можно было указать, что эта функция только для оснований не больше 10. Для всех остальных (до 36 включительно) надо поменятьatavin-ta писал(а):Код: Выделить всё
function Trans(x,y:integer):string