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