Не работает часть кода - 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.
Объяснение кода листинга программы
- В коде используется язык программирования PascalABC.Net.
- Задачей программы является проверка введенного числа на соответствие системе счисления (СС).
- В первой части кода пользователю предлагается ввести номер СС от 2 до 16 и само число в соответствии с выбранной СС.
- Затем происходит проверка введенного числа на соответствие выбранной СС.
- Если число введено неверно, пользователю предлагается повторить ввод.
- В случае правильного ввода числа, программа вычисляет его значение в СС 10 и выводит результат на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д