Проверить строку на наличие чисел (0-9) - Free Pascal
Формулировка задачи:
вроде все правильно пишу, до этого с VAL пробовал, ничего не помогает
var s,w:string; n:byte; j:boolean; begin writeln('Введите строку: '); readln(s); s:=s+' '; n:=pos(' ',s); while n<>0 do begin w:=copy(s,1,n); delete(s,1,n); if (w[1] in ['0'..'9']) and (length(w)=1) then j:=true; n:=pos(' ',s); end; if j=true then writeln('В строке есть числа') else writeln('В строке нет чисел') ; end.
Решение задачи: «Проверить строку на наличие чисел (0-9)»
textual
Листинг программы
var s,w:string; n,j:byte; begin writeln('Введите строку: '); readln(s); s:=s+' '; n:=pos(' ',s); while n<>0 do begin w:=copy(s,1,n); delete(s,1,n); if (w[1] in ['0'..'9']) and (length(w)=2) then j:=1; n:=pos(' ',s); end; if j=1 then writeln('В строке есть числа') else writeln('В строке нет чисел') ; end.
Объяснение кода листинга программы
- Объявлены переменные: s, w (строки), n, j (байты).
- Выводится запрос на ввод строки.
- Введенная строка сохраняется в переменной s.
- Строка s дополняется пробелом в конце.
- Находится позиция первого пробела в строке s с помощью функции pos(' ', s).
- Пока позиция первого пробела в строке не равна 0, выполняются следующие действия:
- Формируется новая строка w, начиная с первого символа и заканчивая первым пробелом в исходной строке s.
- Исходная строка s изменяется, удаляются все символы от первого до следующего пробела.
- Проверяется, является ли второй символ в строке w числом от 0 до 9.
- Если условие выполняется, то значение переменной j устанавливается равным 1.
- Находится позиция следующего пробела в строке s.
- Если значение переменной j равно 1, то выводится сообщение
В строке есть числа
. - Если значение переменной j не равно 1, то выводится сообщение
В строке нет чисел
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д