headerphoto

Určení minimální a maximální hodnoty v poli

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.

Algoritmus pro určení minimální hodnoty:
- za aktuální minimum považujeme první prvek v poli
- procházíme postupně hodnoty v poli. Když 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í minima nemusíme určovat jenom nejmenší hodnotu, ale často nás více zajímá její index (pozice) v poli. V algoritmu potom 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).

Určení největší hodnoty

Pokud hledáme maximální hodnotu, postupujeme podobně jako u minima.

Algoritmus pro určení maximální hodnoty:
- za aktuální maximum považujeme první prvek v poli
- procházíme postupně hodnoty v poli. Když je nějaký prvek větší než aktuální maximum, považujeme ho za nové maximum

Design downloaded from Free Templates - your source for free web templates