Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/lib/plugins/importoldchangelog/action.php on line 8 Strict Standards: Declaration of action_plugin_importoldindex::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/lib/plugins/importoldindex/action.php on line 0 Deprecated: Function split() is deprecated in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 154 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 456 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 456 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/inc/auth.php on line 453 Strict Standards: Only variables should be passed by reference in /DISK2/WWW/pavel-rimsky.cz/vyuka/wiki/doku.php on line 71 ==== Zadání ==== Ze standardního vstupu je zadána posloupnost 100 celých čísel. Určete délku nejdelšího souvislého rostoucího úseku, který je v ní obsažen. Tip: pamatujte si délku nejdelšího dosud přečteného souvislého rostoucího úseku a délku aktuálního souvislého rostoucího úseku. ==== Řešení ==== const POCET_CISEL = 10; {kolik cisel se bude cist} var i, {citac v cyklu for (rika, kolikate cislo se prave cte)} naposled_prectene, {hodnota naposledy precteneho cisla} aktualni, {hodnota prave precteneho cisla} delka_aktualniho, {pokud je dosud prectena posloupnost a_m, a_(m - 1), ..., a_1, pak nejvyssi n takoven ze a_n, ..., a_1 je rostouci} delka_nejdelsiho: integer; {delka nejdelsiho dosud precteneho rostouciho useku} begin {po precteni jednoho cisla plati, ze prave cteny rostouci usek ma (zatim) delku 1} delka_aktualniho := 1; {pocatecni hodnota je 0 ==> bude rust, jak postupne budeme cist rostouci useky} delka_nejdelsiho := 0; {prvni cislo precteme zvlast, abychom meli druhe s cim porovnavat (a zjistit tak, zda rostouci posloupnost skoncila)} writeln('Zadej 1. cislo: '); read(naposled_prectene); {precteme zbyvajici cisla} for i := 2 to POCET_CISEL do begin writeln('Zadej ', i, '. cislo: '); readln(aktualni); {rostouci usek skoncil, narazili jsme na cislo, ktere je <= nez predchozi cislo} if (aktualni <= naposled_prectene) then begin {mozna byl prave skoncivsi rostouvci usek dosud nejdelsi ze vsech} if (delka_aktualniho > delka_nejdelsiho) then delka_nejdelsiho := delka_aktualniho; {zatim jsme precetli 1 cislo z noveho useku} delka_aktualniho := 1; {rostouci usek neskoncil ==> vime, ze je o 1 delsi} end else begin delka_aktualniho := delka_aktualniho + 1; end; naposled_prectene := aktualni; end; {pro pripad, ze nejdelsi roztouci usek se nachazi na konci posloupnosti} if (delka_aktualniho > delka_nejdelsiho) then delka_nejdelsiho := delka_aktualniho; {staci jen vypsat vysledek} writeln('Delka nejdelsiho rostouciho useku je ', delka_nejdelsiho, '.'); end.