Не работает часть кода - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Должен переводить из любой (от 2 до 16-ой) системы в 10. Прошу указать только место или места ошибок!

Решение задачи: «Не работает часть кода»

textual
Листинг программы
const digit:string[16]='0123456789ABCDEF';
var cs,k,i:byte;
    st:string;
    m:integer;
begin
repeat
writeln('Введите из какой сс от 2 до 16');
readln(cs);
until cs in [2..16];
repeat
writeln('Введите число в соответствии с сс');
readln(st);
k:=0;
i:=1;
while(i<=length(st))and(k=0) do
if pos(st[i],copy(digit,1,cs))=0 then k:=1
else inc(i);
if k=1 then write('Число введено неверно, повторите')
until k=0;
m:=0;
for i:=1 to length(st) do
m:=m*cs+pos(st[i],digit)-1;
writeln('Число в СС 10=',m);
end.

Объяснение кода листинга программы

  1. В коде используется язык программирования PascalABC.Net.
  2. Задачей программы является проверка введенного числа на соответствие системе счисления (СС).
  3. В первой части кода пользователю предлагается ввести номер СС от 2 до 16 и само число в соответствии с выбранной СС.
  4. Затем происходит проверка введенного числа на соответствие выбранной СС.
  5. Если число введено неверно, пользователю предлагается повторить ввод.
  6. В случае правильного ввода числа, программа вычисляет его значение в СС 10 и выводит результат на экран.

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы