Строка - Pascal (97731)

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

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

Написать программу находящую среднюю длину слов в предложении и вывести те слова, которые больше или равны этому значению.(Слова разделены любым количеством пробелов)

Решение задачи: «Строка»

textual
Листинг программы
var
  tempword,s:string;
  kol,srd,countword,i:integer;
begin
  writeln('ÈñõîäГ*Г*Гї ñòðîêГ*:');
  readln(s);
  countword:=0;
  kol:=0;
  for i:=1 to length(s) do
  begin
    if s[i]<>' ' then
      inc(kol);
    if ((s[i]=' ') and (s[i-1]<>' ') and (i>1)) or ((i=length(s)) and (s[i]<>' ')) then
      inc(countword)
  end;
  srd:=kol div countword;
  writeln('ÑðåäГ*ГҐГҐ êîëè÷åñòâî ñèìâîëîâ Гў ñëîâå = ',srd);
  writeln('ÑëîâГ* áîëüøå ëèáî Г°Г*ГўГ*ûå ýòîìó Г§Г*Г*Г·ГҐГ*ГЁГѕ:');
  for i:=1 to length(s) do
    if s[i]<>' ' then
    begin
      tempword:=tempword+s[i];
      if (length(tempword)>=srd) and (i=length(s)) then
        write(tempword,' ');
    end
    else
      if length(tempword)>=srd then
      begin
        write(tempword,' ');
        tempword:=''
      end;
  writeln
end.

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

  1. Объявлены переменные: tempword, s, kol, srd, countword, i (строки, целые числа)
  2. Выводится сообщение и считывается строка s
  3. Инициализируются счетчики kol, countword и i
  4. Происходит проход по каждому символу строки s
  5. Если символ не пробел, то увеличивается счетчик kol
  6. Если текущий символ - пробел, то проверяется предыдущий символ. Если он не пробел и текущий символ не последний в строке, то увеличивается счетчик countword
  7. Считается количество слов в строке, деленное на количество слов в каждом выделенном фрагменте (srd)
  8. Выводится значение srd
  9. Происходит проход по каждому символу строки s
  10. Если символ не пробел, то добавляется к переменной tempword
  11. Если длина tempword равна или больше srd и текущий символ - последний в строке, то выводится значение tempword, затем пробел
  12. Если длина tempword равна или больше srd, то выводится значение tempword, затем пробел, а tempword обнуляется
  13. Выводится пустая строка

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


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

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

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