Напечатать все слова, не содержащие ни одной цифры - 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.

Объяснение кода листинга программы

  1. Объявление переменных:
    • rz: массив символов, содержащий разделители слов
    • s, s1: строки для хранения введенной и обрабатываемой строки
    • n, i, j, f, k: переменные типа byte
  2. Ввод строки:
    • Пользователю выводится приглашение Введите строку
    • Введенная строка сохраняется в переменную s
  3. Добавление пробела в начало строки:
    • В начало строки s добавляется пробел
  4. Поиск слов без цифр:
    • Используется цикл while, в котором происходит анализ каждого символа в строке
    • Если символ не является разделителем и предыдущий символ - разделитель, он считается началом слова
    • Для каждого найденного слова производится последовательный анализ каждого символа
    • Если в слове обнаруживается цифра, оно помечается флагом k
    • Если в слове не обнаруживается ни одной цифры, выводится это слово и его длина
    • Выполняется шаг поиска слова (прибавляется длина слова к индексу)
    • Если ни одного слова без цифр не найдено, выводится сообщение Таких слов нет

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы