Π‘Π°ΠΌΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² ΡΡΡΠΎΠΊΠ΅, ΠΏΠ°ΡΠΊΠ°Π»Ρ.
Π‘Π°ΠΌΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² ΡΡΡΠΎΠΊΠ΅, ΠΏΠ°ΡΠΊΠ°Π»Ρ.
ΠΡΠΎΠ±Π΅Π» — ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°.
program StrAllWord;
{Π‘Π°ΠΌΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² ΡΡΡΠΎΠΊΠ΅ ΠΏΠ°ΡΠΊΠ°Π»Ρ}
var
{s_Str ΠΈΡΡ
ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°}
s_Str, s_Word: string;
i, n, i_Index: integer;
i_Ac: integer;
i_Max: integer;
begin
i_Max := 0;
i_Ac := 0; //ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
s_Str := 'The green grass covered the whole glade';
n := length(s_Str);
for i := 1 to n do
begin
//ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΠ±Π΅Π»Π° Π² ΡΡΡΠΎΠΊΠ΅
if s_Str[i] = ' ' then
begin
if i_Max < i_Ac then
begin
i_Max := i_Ac;
i_Index := i-i_Ac; //Π½Π°ΡΠ°Π»ΠΎ ΡΠ»ΠΎΠ²Π°
s_Word := copy(s_Str, i_Index, i_Max);
end;
i_Ac := 0;{ΠΎΠ±Π½ΡΠ»ΡΠ΅ΠΌ}
end
else
i_Ac := i_Ac + 1;
end;
WriteLn('ΠΡΡ
ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°: ', s_Str);
WriteLn('Π‘Π°ΠΌΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² ΡΡΡΠΎΠΊΠ΅: ', s_Word,' ΠΊΠΎΠ»-Π²ΠΎ ΡΠΈΠΌ: ', i_Max);
//Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
WriteLn('ΠΠ°ΠΆΠΌΠΈΡΠ΅ <Enter>, ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ.');
ReadLn();
end.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π‘Π°ΠΌΠΎΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² ΡΡΡΠΎΠΊΠ΅, ΠΏΠ°ΡΠΊΠ°Π»Ρ.