IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Mezi 13:00 až cca 16:00 proběhne odstávka sítě z důvodu aktualizace. Web bude po celou dobu nedostupný.

Diskuze: max. a min. hodnota pole

Aktivity
Avatar
Zbysa.Cernohous:14.6.2015 18:39

Ahoj,
Jsme programátorský začátečník a mám problém. Programuju webovou aplikaci na počítání absolutní a relativní chyby měření. V poli mám deset čísel a potřeboval bych zjistit nejmenší a největší hodnotu. Na vypsání jsem zkoušel tohle: echo max($_POST);,což nefungovalo. Poradíte mi?

 
Odpovědět
14.6.2015 18:39
Avatar
joci
Člen
Avatar
Odpovídá na Zbysa.Cernohous
joci:14.6.2015 18:55

Ahoj, skus to urobit tak, ze na zaciatku si do premennej vypises prvu hodnotu pola a tu potom porovnavaj cez cyklus foreach s ostatnymi prvkami. Ak je i-ta hodnota vacsia, hodnotu prepises, inak nechas povodnu hodnotu. Podobne to bude aj s minimalnou hodnotou, len das opacnu podmienku:

$max = $pole[0];
$min = $pole[0];

foreach($pole as $prvok){
if($prvok>$max)
  $max = $prvok;

 if($prvok<$min)
  $min = $prvok;

}
Nahoru Odpovědět
14.6.2015 18:55
Svet patrí tím, ktorí sa neposerú.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na joci
David Hartinger:14.6.2015 19:12

Nikdy neimplementuj funkce, které má jazyk v základu.

Nahoru Odpovědět
14.6.2015 19:12
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Zbysa.Cernohous
David Hartinger:14.6.2015 19:12

Jak tam ty hodnoty odesíláš?

Nahoru Odpovědět
14.6.2015 19:12
New kid back on the block with a R.I.P
Avatar
Richard
Člen
Avatar
Odpovídá na Zbysa.Cernohous
Richard:14.6.2015 19:15

Funkce max() a min() slouží přesně k tomuto.
Pokud nefungují (to to znamená? nevypsalo nic? chybu? vybuchlo to?) tak máš data v odlišném tvaru než ty funkce očekávají.

Hoď nám sem výpis var_dump($_POST), uvidíme co se dá dělat.

Nahoru Odpovědět
14.6.2015 19:15
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
joci
Člen
Avatar
Odpovídá na David Hartinger
joci:14.6.2015 19:53

Ok, len som chcel dať nejaký návrh, kedže píše že tie funkcie mu nefungujú.

Nahoru Odpovědět
14.6.2015 19:53
Svet patrí tím, ktorí sa neposerú.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na joci
David Hartinger:14.6.2015 19:59

Když mu nefunguje nějaká funkce jazyka, tak je mnohem větší šance že dělá něco špatně než že je jazyk špatně. A proto by to neměl řešit tak, že si začne psát tu funkci znovu.

Nahoru Odpovědět
14.6.2015 19:59
New kid back on the block with a R.I.P
Avatar
Zbysa.Cernohous:14.6.2015 20:25

Tady je kód php, hodnoty jsou odesílány pomocí Post. Mám to nahrané na: http://zbysahous.wz.cz/

<?php

     $a = $_POST['cislo1'];
     $b = $_POST['cislo2'];
     $c = $_POST['cislo3'];
     $d = $_POST['cislo4'];
     $e = $_POST['cislo5'];
     $f = $_POST['cislo6'];
     $g = $_POST['cislo7'];
     $h = $_POST['cislo8'];
     $j = $_POST['cislo9'];
     $k = $_POST['cislo10'];
     $max= max($_POST);
     $prumer = ($a + $b + $c + $d + $e + $f + $g + $h + $j + $k) / 10;

     echo("Prumer hodnot: $prumer");
     echo($max);

   ?>
 
Nahoru Odpovědět
14.6.2015 20:25
Avatar
joci
Člen
Avatar
Odpovídá na Zbysa.Cernohous
joci:14.6.2015 21:05

Neviem, prečo ti to neide ale mne

echo max($_POST);

na localhoste normalne funguje. A pri tom priemere by si mal skôr použiť skôr zabudované funkcie, ako David hovoril :D

echo "priemer: ". array_sum($_POST)/count($_POST);

Ak by si niekedy pridal, alebo odobral nejakú hodnotu, tak by si to musel v kóde zasa prepisovať.

Nahoru Odpovědět
14.6.2015 21:05
Svet patrí tím, ktorí sa neposerú.
Avatar
Odpovídá na joci
Zbysa.Cernohous:14.6.2015 21:07

Dík za radu, jak jsem psal, jsem zatím začátečník.:)

 
Nahoru Odpovědět
14.6.2015 21:07
Avatar
joci
Člen
Avatar
Nahoru Odpovědět
14.6.2015 21:10
Svet patrí tím, ktorí sa neposerú.
Avatar
Zbysa.Cernohous:14.6.2015 21:59

Tak problém vyřešen, všem dík za rady. :)

 
Nahoru Odpovědět
14.6.2015 21:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.