Напечатать все слова, не содержащие ни одной цифры - 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
- Если в слове не обнаруживается ни одной цифры, выводится это слово и его длина
- Выполняется шаг поиска слова (прибавляется длина слова к индексу)
- Если ни одного слова без цифр не найдено, выводится сообщение
Таких слов нет
- Используется цикл
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д