DuBepCaHT
Новый пользователь
- Сообщения
- 19
- Реакции
- 2
Доброго времени суток! Задание такое: перевести ТОЛЬКО из 2-ой СС в 10-ую, 8-ую и 7-ую СС, с одновременным выводом результата, т.е. по запросу вводим бинарник и он выводит результаты 10, 8 и 7 СС. Я написал код, но он переводит из вся и всех СС во все и вся СС, но, как написано выше...
В общем код:
В общем код:
Код:
program ir1;
uses crt;
var cs1,cs2,res,change:integer;
TD:string;
function FromDec(n,r:longint):string;
var
s:string;
const
digit:string[16]='0123456789ABCDEF';
begin
s:='';
repeat
s:=digit[(n mod r)+1]+s;
n:=n div r;
until n=0;
FromDec:=s;
end;
function ToDec(n:string; r:longint):longint;
var
m,i:longint;
const digit:string[16]='0123456789ABCDEF';
begin
m:=0;
while n[1]='0' do delete(n,1,1);
for i:=1 to length(n) do m:=m*r+pos(n[i],digit)-1;
ToDec:=m;
end;
begin
clrscr;
writeln('Из какой СС перевод:');
repeat
readln(cs1);
until
(cs1>=2) and (cs1<=36);
writeln('Введите число соответствующее СС:');
readln(TD);
writeln('Введите в какую СС переводить:');
repeat
readln(cs2);
until
(cs2>=2) and (cs2<=36);
writeln('Перевод из ',cs1,' СС в ',cs2,' СС:');
writeln(FromDec(ToDec(TD,cs1),cs2));
readln
end.