п-а, которая делает вычитание 16-ричной системы( это цифры 0,1,2,3,4,5,6,7,8,9 и буквы a,b,c,d,e,f).
П-а делает только вычитание цифр, но когда вводишь a,b,c,d,e,f , п-а выдаёт, что чило неправельно введено.
Помогите ошибку найти
Прикрепленные файлы
VI4ITANE.PAS ( 1.92 килобайт )
Кол-во скачиваний: 270
Во-первых, у тебя процедура burti меняет исходную строку... Я ввожу 'aa123' - получаю 'II123'. Буква I не допустима, ошибка...
Во-вторых,
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]));
спасибо за совет
я попробовал, но опять что то не то....
Прикрепленные файлы
ISPR.PAS ( 1.22 килобайт )
Кол-во скачиваний: 234
Ты begin/end упорно не желаешь замечать? Что я написал, и что ты сделал? Сравни...
Кстати, с sk2 нужно сделать то же самое...
а почему разность (starpiba) все время ?
второй end п-а не принимает
Прикрепленные файлы
ISPR.PAS ( 1.25 килобайт )
Кол-во скачиваний: 227
ISPR.PAS ( 1.25 килобайт )
Кол-во скачиваний: 230
pozalujsta,isprevtje programmu....ja uze vse 4to ugidno poproboval...nu ne tak ja silljen v pascale
а что такое, по твоей задумке, sk?
sk - число