Вывести на экран все слова из строки, содержащие 3 цифры - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

задание такое:"

выведите на экран все слова из строки, содержащие 3 цифры

" то есть вводим строку,к примеру:"ads sdasdf asf456 456" а вывести должно:"asf456 456"

Решение задачи: «Вывести на экран все слова из строки, содержащие 3 цифры»

textual
Листинг программы
var s,s1:string;
    i,j,k,n:byte;
begin
writeln('Введите строку');
readln(s);
s:=' '+s;
writeln('Слова, содержащие 3 цифры');
n:=0;
i:=1;
while i<length(s) do
if (s[i]<>' ')and(s[i-1]=' ') then
 begin
  s1:='';
  j:=i;
  while(j<=length(s))and(s[j]<>' ') do
   begin
    s1:=s1+s[j];
    j:=j+1;
   end;
  k:=0;
  for j:=1 to length(s1) do
  if s1[j] in ['0'..'9'] then k:=k+1;
  if k=3 then
   begin
    n:=1;
    writeln(s1);
   end;
  i:=i+length(s1);
 end
else i:=i+1;
if n=0 then write('Таких слов нет');
end.

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

  1. В начале объявляются переменные s и s1 типа string, а также переменные i, j, k и n типа byte.
  2. Затем выводится сообщение «Введите строку», и считывается строка от пользователя с помощью функции readln().
  3. Строка s устанавливается в пробел, чтобы удалить ведущие и конечные пробелы.
  4. Запускается цикл while, который будет выполняться до тех пор, пока i меньше длины строки s.
  5. Внутри цикла проверяется, является ли текущий символ в строке s пробелом или нет. Если это так, то создается новая переменная s1, которая будет содержать текущий участок строки s, начиная с i-го символа и заканчивая концом строки.
  6. Затем запускается вложенный цикл while, который будет выполняться для каждого символа в s1.
  7. Внутри вложенного цикла проверяется, является ли текущий символ в s1 цифрой от 0 до 9.
  8. Если это так, то увеличивается счетчик k на 1.
  9. После окончания вложенного цикла проверяется значение k. Если k равно 3, то выводится на экран s1, и переменная n устанавливается равной 1.
  10. После этого увеличивается значение i на длину s1.
  11. Если после увеличения i значение i больше длины s, то цикл while прекращается, и выводится сообщение «Таких слов нет».
  12. Цикл while завершается, и выводится сообщение «Таких слов нет».

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


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

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

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