Найти самое короткое и самое длинное слово в строке и их позиции - Turbo Pascal

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

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

Тема: Разработка алгоритмов и программ обработки строк. Использование множеств с целью решения задач. В заданном предложении найти самое короткое и самое длинное слова и указать позиции, с которых они начинаются.

Решение задачи: «Найти самое короткое и самое длинное слово в строке и их позиции»

textual
Листинг программы
var a,s,min,max:string;
    i,j,pos1,pos2:integer;
begin
readln(a);
i:=0; j:=1; min:=a; max:='';
s:='';
while i<ord(a[0]) do
begin
while (a[j]<>' ') and (j<=ord(a[0])) do
begin
s:=s+a[j];
inc(j);
end;
if s<>'' then
begin
if ord(s[0])<ord(min[0]) then begin min:=s; pos1:=i+1; end;
if ord(s[0])>ord(max[0]) then begin max:=s; pos2:=i+1; end;
end;
if a[j]=' ' then begin inc(j); inc(i); end;
i:=i+ord(s[0]);
s:='';
end;
writeln(min+'-',pos1);
writeln(max+'-',pos2);
end.

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

  1. В начале кода объявляются переменные a, s, min, max и i, j, pos1, pos2 типа string и integer соответственно.
  2. Строка a читается с помощью функции readln().
  3. Переменная i устанавливается равной 0, а переменная j устанавливается равной 1. Переменная min устанавливается равной строке a, а переменная max устанавливается равной пустой строке ('').
  4. Создается пустая строка s для хранения самого короткого слова.
  5. Запускается цикл while, который выполняется до тех пор, пока i меньше длины первого символа строки a.
  6. Внутри цикла while происходит следующий блок кода:
    • Создается переменная s, которая будет содержать самое короткое слово.
    • Переменная s инициализируется значением строки a, и затем к ней добавляется каждый символ по одному, пока длина текущего символа меньше или равна длине предыдущего символа.
    • Переменная j устанавливается равной i+1, чтобы перейти к следующему символу.
    • Переменная i увеличивается на длину текущего символа.
  7. Если текущий символ - пробел, то переменные i и j увеличиваются на 1.
  8. Когда цикл while завершается, переменная s содержит самое короткое слово.
  9. Запускается еще один цикл while, который выполняется до тех пор, пока j меньше длины строки a.
  10. Внутри цикла while происходит следующий блок кода:
    • Переменная s инициализируется значением строки a, и затем к ней добавляется каждый символ по одному, пока длина текущего символа меньше или равна длине предыдущего символа.
    • Переменная j устанавливается равной i+1, чтобы перейти к следующему символу.
    • Переменная i увеличивается на длину текущего символа.
  11. Если цикл while завершается, это означает, что все символы были проверены, и переменная s содержит самое короткое слово.
  12. Выводится на экран строка min+'-', за которой следует позиция pos1, которая соответствует самому короткому слову.
  13. Затем выводится на экран строка max+'-', за которой следует позиция pos2, которая соответствует самому длинному слову.
  14. Конец программы.

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


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

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

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