fork download
  1. #include <stdio.h>
  2.  
  3. /**
  4.  * Funkce, ktera bere dva parametry:
  5.  * @param float[] array - pole floatů (normálně bychom použili double s větší přesností)
  6.  * @param size_t count - počet prvků pole
  7.  * @return float - vrací maximum
  8.  */
  9. int getMax ( float * array, size_t count ) {
  10. int i, j;
  11.  
  12. /* existuje cislo, a bude to jedno z tech co jsou v poli, proto je projdeme vsechny */
  13. for ( i = 0; i < count; i++ ) {
  14. /* na zacatku o cisle predpokladejme, že je maximalni */
  15. char isMax = 1;
  16.  
  17. for ( j = 0; j < count; j++ ) {
  18. /* pokud najdeme cislo, které je vetsi, pak nase cislo neni maximalni a my nemusime prochazet dalsi */
  19. if ( array[ i ] < array[ j ] ) {
  20. isMax = 0;
  21. break;
  22. }
  23. }
  24.  
  25. /* pokud jsem prosel vsechna cisla a zadne nebylo vetsi, pak jsme nasli maximum */
  26. if ( isMax ) {
  27. return array[ i ];
  28. }
  29. }
  30. }
  31.  
  32. int main ( void )
  33. {
  34. float pole [] = { 6, 2, 10, 8, 23, 4 };
  35. /* Definice float pole [] rika, ze definuji pole (hranate zavorky rikaji je to pole) float */
  36. /* Pole muzu definovat s poctem prvku ci bez, ale pak musim hned priradit do nej hodnoty. */
  37. /* Takto definovane pole se neda zvetsovat */
  38.  
  39. /* Zavolam funkci, ktere predam pole a jeho velikost. */
  40. /* sizeof(pole) udava pocet bytu potrebnych pro promennou pole = pocet prvku * velikost float */
  41. /* sizeof(float) udava pocet bytu floatu => podil udava pocet prvku */
  42. int max = getMax( pole, sizeof(pole) / sizeof(float) );
  43. printf( "Maximalni cislo je %d.\n", max );
  44.  
  45. return 0; /* Return 0 znaci, ze program skoncil uspesne. */
  46. }
Success #stdin #stdout 0s 2160KB
stdin
Standard input is empty
stdout
Maximalni cislo je 23.