Как удалить из строки самое длинное и самое короткое слово?
Категория: Delphi/Pascal
2012-12-29 10:03:57
code: #delphi
procedure MaxMinWord(S: String; var MaxWord, MinWord: String); var Position: Integer; StrLen: Integer; W: String; function FindWord: String; begin Result := ''; repeat Inc(Position); if S[Position] <> ' ' then Result := Result + S[Position]; until (S[Position] = ' '); end; begin Position := 0; StrLen := Length(S); S := S + ' '; W := FindWord; MinWord := W; MaxWord := W; repeat W := FindWord; if W <> '' then if Length(W) > Length(MaxWord) then MaxWord := W else if Length(W) < Length(MinWord) then MinWord := W; until Position >= StrLen; end; Вызывать так например: procedure TForm1.Button1Click(Sender: TObject); var Max, Min: String; begin MaxMinWord(Edit1.Text, Max, Min); ShowMessage('Max: ' + Max); ShowMessage('Min: ' + Min); end;
автор: THandle
Поделиться: