Напечатать все слова, не содержащие ни одной цифры - Pascal
Формулировка задачи:
Дали программу на pascal, а я его уже не помню я больше по веб, помогите написать программку простую
Строка: AAaaB aaaAbb, CDeDC. ffGGG! hIIIk? DS23sd dffD3d dffoEd
Напечатать все слова, не содержащие ни одной цифры. Рядом со словом напечатать количество букв в нем.
Решение задачи: «Напечатать все слова, не содержащие ни одной цифры»
textual
Листинг программы
const rz=[' ','.',',','?','!'];{символы, разделители слов, можно добавить} var s,s1:string; n,i,j,f,k:byte; begin writeln('Введите строку'); readln(s); s:=' '+s;{добавим пробел в начало} writeln('Слова, не содержащие ни одной цифры'); f:=0; n:=length(s); i:=2; while i<=n do if not(s[i] in rz)and (s[i-1] in rz) then{если не разделитель и перед ним разделитель, то начало слова*} begin j:=i; s1:=''; while (j<=n) and not(s[j] in rz) do {пока не разделитель и не конец строки} begin s1:=s1+s[j]; j:=j+1; end; k:=0; j:=1; while(j<=length(s1))and(k=0) do if s1[j] in ['0'..'9'] then k:=1 else inc(j); if k=0 then begin f:=1; writeln(s1,' количество букв=',length(s1)); end; i:=i+length(s1); end else i:=i+1;{пропускаем разделители} if f=0 then write('Таких слов нет'); end.
Объяснение кода листинга программы
- Объявление переменных:
rz
: массив символов, содержащий разделители словs
,s1
: строки для хранения введенной и обрабатываемой строкиn
,i
,j
,f
,k
: переменные типаbyte
- Ввод строки:
- Пользователю выводится приглашение
Введите строку
- Введенная строка сохраняется в переменную
s
- Пользователю выводится приглашение
- Добавление пробела в начало строки:
- В начало строки
s
добавляется пробел
- В начало строки
- Поиск слов без цифр:
- Используется цикл
while
, в котором происходит анализ каждого символа в строке - Если символ не является разделителем и предыдущий символ - разделитель, он считается началом слова
- Для каждого найденного слова производится последовательный анализ каждого символа
- Если в слове обнаруживается цифра, оно
помечается
флагомk
- Если в слове не обнаруживается ни одной цифры, выводится это слово и его длина
- Выполняется шаг поиска слова (прибавляется длина слова к индексу)
- Если ни одного слова без цифр не найдено, выводится сообщение
Таких слов нет
- Используется цикл
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д