Напечатать самое длинное слово предложения - Turbo Pascal (33972)
Формулировка задачи:
Дано предложение. Напечатать его самое длинное слово (принять, что такое слово — единственное) .
Решение задачи: «Напечатать самое длинное слово предложения»
textual
Листинг программы
var s:string; i,m,z,n:integer; k,b1,b2:array[1..100] of integer; begin readln(s); b1[1]:=1; for i:=1 to length(s) do begin z:=z+1; if (s[i]=' ') or (i=length(s)) then begin m:=m+1; k[m]:=z-1; z:=0; b1[m+1]:=i+1; b2[m]:=i-1; end; end; k[m]:=k[m]+1; z:=k[1]; b2[m]:=length(s); n:=1; for i:=1 to m do if k[i]>z then begin z:=k[i]; n:=i; end; for i:=b1[n] to b2[n] do write(s[i]); readln end.
Объяснение кода листинга программы
- Переменная
s
инициализируется строковым значением, полученным от пользователя. - Создаются четыре целочисленные переменные
i
,m
,z
иn
. - Создается массив
k
типаarray[1..100] of integer
и массивb1
также типаarray[1..100] of integer
. Эти массивы будут использоваться для хранения промежуточных данных. - Считывается ввод от пользователя с помощью функции
readln()
. Значение, полученное от пользователя, присваивается переменнойs
. - Запускается цикл
for
, который выполняется столько раз, сколько символов в строкеs
. - Внутри цикла
for
переменнаяz
инициализируется единицей. - Если текущий символ в строке
s
является пробелом или является последним символом в строке, то переменнаяm
увеличивается на единицу, а переменныеk[m]
иb1[m]
присваиваются значениямz-1
иi+1
соответственно. Затем переменнаяz
сбрасывается обратно в ноль. - После завершения внутреннего цикла
for
, переменныеk[m]
иb1[m]
обновляются, чтобы отразить последнее значение переменнойm
. - Запускается внешний цикл
for
, который начинается с индексаb1[n]
и продолжается до индексаb2[n]
. - Внутри внешнего цикла
for
происходит запись каждого символа из строкиs[i]
на экран. - После завершения внешнего цикла
for
, переменныеk[m]
иb2[m]
обновляются, чтобы отразить последнее значение переменнойm
. - Считывается новый ввод от пользователя с помощью функции
readln()
. Значение, полученное от пользователя, присваивается переменнойs
. - Цикл
for
прерывается, и программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д