п-а, которая делает вычитание 16-ричной системы( это цифры 0,1,2,3,4,5,6,7,8,9 и буквы a,b,c,d,e,f).
П-а делает только вычитание цифр, но когда вводишь a,b,c,d,e,f , п-а выдаёт, что чило неправельно введено.
Помогите ошибку найти
for i:=1 to l1 doтам, где я показал, в A запишется только ПОСЛЕДНИЙ символ строки, т.к. цикл состоит из одного оператора... Я бы сделал так:
a:=ord(sk1[i]); { <-- Здесь }
if not ((a in [48..57]) or (a in [65..70]))
then writeln('Skaitlis ir ievadits nepareizi!'); {4islo napisano nepraveljno}
repeat
writeln('Ievadiet mazinaamo:'); {vvedite umenj6aemoe}
readln(sk1);
l1:=length(sk1);
for i:=1 to l1 do begin
a:=ord(upcase(sk1[i])); { <--- Тогда тебе не нужна та самая процедура, все будет работать и без нее }
if not ((a in [48..57]) or (a in [65..70])) then begin
writeln('Skaitlis ir ievadits nepareizi!'); {4islo napisano nepraveljno}
break;
end;
end;
until ((a in [48..57]) or (a in [65..70]));