Určení minimální a maximální hodnoty
V této části uvedeme algoritmus pro hledání minimální nebo maximální hodnoty. Předpokládáme, že hodnoty jsou uloženy v jednorozměrném poli a je určený jejich počet.
Určení nejmenší hodnoty
Algoritmus má 2 základní části. Nejdříve nastavíme počáteční hodnotu minima. Ideální je použít hodnotu z pole. Použijeme hned první hodnotu, což je v poli prvek s indexem 0.
V druhé části potom postupným porovnáváním hodnot v poli s aktuálním minimem určíme konečnou hodnotu minima.
Postup při hledání minima:
- za minimum považujeme první prvek v poli
- procházíme postupně hodnoty v poli. Pokud je nějaký prvek menší než aktuální minimum, považujeme ho za nové minimum
V další části je uvedena funkce, ve které použijeme zmíněný algoritmus. Parametry funkce jsou pole s hodnotami a aktuální počet hodnot v poli. Typ návratové hodnoty je určen datovým typem minima (float).
float min_hodnota(float pole[], int pocet) { float min; int i, imin; min=pole[0]; //nastavení počáteční hodnoty minima for(i=1; i<pocet; i++) //procházení hodnot v poli if (pole[i]<min) //když je hodnota z pole menší než aktuální minimum { min=pole[i]; //přepíšeme hodnotu minima } return min; }
Při hledání nejmenší hodnoty můžeme určit taky její pozici(index) v poli. V algoritmu vždy, když nastavujeme hodnotu minima, nastavíme taky index hodnoty v poli. Při použití ve funkci nastavíme typ návratové hodnoty na int (budeme vracet pořadí hodnoty).
Pokud hledáme maximální hodnotu, postupujeme podobně jako u minima. Jediný rozdíl je v nastavení podmínky pro příkaz if - hledáme hodnotu větší než stávající maximum.