Калистратович 2 ноября 2019 в 06:38

Паскаль. Можно ли как-то модернизировать программу (именно модернизировать), чтобы можно было работать и с 10+ СС? Например, вводишь число 1F (в 16 СС), программа в строке находит F, приравнивает её к 15, потом уже работает с этим числом. Пробовал, но успехом не увенчалось. Пожалуйста, постарайтесь расписать подробно.

Можно сделать, например, так (но это всё равно очень-очень корявый вариант):
const s=ABCDEF;
var x:string;
t:real;
a,i,n,q:integer;
begin
readln(x);
readln(q);
t:=0;
n:=length(x);
for i:=1 to n do
begin
 case x[i] of
  0..9 : a:=strtoint(x[i]);
  A..F : a:=pos(x[i],s)+9;
 end; 
n:=n-1;
t:=t+a*power(q,n);
end;
writeln(t);
end.
Компьютеры и вычисления
Для комментирования необходимо зарегистрироваться на сайте