Распечатать самое длинное слово
Добавлено: 28 апр 2009, 22:47
Дано n строк.Распечатать для каждой строки слово,имеющее наибольшую длину.
Код: Выделить всё
for i:=1 to N do begin
MaxLen:=0; Len:=0; Pos:=0; MaxPos:=0;
for j:=1 to length(S[i]) do begin
if S[i][j] in Letters then begin {слово продолжается}
inc(Len);
if Len=1 then Pos:=j; {запоминаем, где оно началось}
end else begin {слово закончилось}
if Len>MaxLen then begin {...и если оно длинее MaxLen...}
MaxLen:=Len; {...запоминаем его длину и положение}
MaxPos:=Pos;
end;
end;
end; {i-я строка обработана}
if MaxPos>0
then writeln('в строке ',i,' самое длинное слово: ' copy(S[i]),MaxPos,MaxLen));
else writeln('в строке ',i,' не найдено ниодного слова');
end;