Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 1

Modus

Nejdříve se dá poli hodnota []. Pak se dá hodnota 0 pro Y. Poté to jde do podmínky na konci, kde
uživatel zadá vždy hodnotu x. Pokud hodnota x je větší jak 0 (kladná) tak se x uloží do pole y (aktuálně
nula) pak se k y přičte jedna, aby se při dalším zadání hodnota x uložila do dalšího pole. Tato
podmínka se opakuje do té doby, než bude zadána nula. Poté po podmínce se dá proměnné o
hodnota 0 (o bude potřebné později). Pak se dá count (bude počítat kolikrát tam je jaká hodnota
hodnota []. Pak se nula dá jako maxcount. Poté to jde do opakování, které jde od 0 do délky pole -1 a
číslo opakování se zapisuje do a. V opakování se dá count[a] hodnota 0. Pak následuje opakování od 0
do délky pole-1 a počet opakování se počítá do b. V tomto opakování se rozhodne, jestli pole[a] se
rovná poli[b]. Pokud se rovná tak se k count[a] přičte 1 a zapíše se do count[a]. Pokud ne neděje se
nic. Až to vyjede z opakování tak se rozhoduje, jestli count[a] je větší jak maxcount. Jestli je, tak se
count[a] zapíše jako nový maxcount a pole[a] se zapíše jako aktuální modus. Pokud není tak se nic
neděje. Po rozhodování se rozhodne, jestli count[a] se rovná max count, pokud ne jede to dál. Pokud
ano tak se k o přičte jedna (o počítá kolikrát tam maximálně může být nějaká hodnota). Pak se
rozhodne, jestli o je větší, jak maxcount pokud není, tak se nic neděje a opakování jde od znovu.
Pokud je o větší jak max count (nějaké dvě hodnoty tam mají stejné množství) tak se uloží do modus
že modus není definovaný. Až to projede celé opakování tak to napíše modus.

You might also like