Navigace: Hlavní stránka -> PASCAL -> 10 Znaky, texty ->10.03 Hledání nejdelšího slova v řetězci znaků

MENU

10.03 Hledání nejdelšího slova v řetězci znaků

Zadání:
Sestavte program, který nalezne nejdelší slovo v zadaném řetězci.
Řešení:
Program hledá pomocí pozice první mezery v řetězci délku prvního slova. Délku tohoto slova porovná s uloženou
hodnotou v proměnné delka a uloží do ní větší z obou hodnot. Poté smaže z řetězce první slovo. Tuto činnost
opakuje do té doby, dokud není řetězec prázdný. Na konci programu se vytiskne délka nejdelšího slova.
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var s:string;
    delka,p:integer;

begin

   write('Zadejte retezec: ');
   readln(s);

   delka:=0;
   repeat
      p:=pos(' ',s);
      if p=0 then
      begin
         p:=length(s);
         if p>delka then delka:=p;
      end
      else if p-1>delka then delka:=p-1;
      delete(s,1,p);
   until s='';

   writeln(delka);

   readln;

end.
program ke stažení