Autor | Zpráva | ||
---|---|---|---|
Chlebíček Profil * |
#1 · Zasláno: 11. 11. 2008, 09:23:16
Dobrej,
Mám 3 inputy, do jednoha zadám počáteční číslo, do druhého konečné a do třetího operátora. Potřebuju aby se cisla od pocatecniho do konecneho vypsala a nasledne se mezi nema provedla zadana operace, Scitani a odcitani funguje .. bohuzel nejde nasobeni a deleni a nvm co s tim prosim o radu $start=$_POST[start]; $konec=$_POST[konec]; $operace=$_POST[operace]; if ($operace=='*'){ for ($i = $start; $i <= $konec; ++$i){ $proces*=$i; echo $i . "<br />";}} |
||
Sicario Profil * |
#2 · Zasláno: 11. 11. 2008, 10:09:30
Tak $proces potrebuje nejakou vychozi hodnotu, $proces = 1.
|
||
Chlebíček Profil * |
#3 · Zasláno: 11. 11. 2008, 10:42:42
no to má ... na nasobení 1, ale kdyz tam je pak scitani tak je vysledek o 1 vetsi a kdyz je tam 1 tak zase nevypise vysledek deleni :(
|
||
Wroxman Profil |
#4 · Zasláno: 12. 11. 2008, 13:17:44
hmm určitě to pujde kdyz udelas misto inputu na text select name="hodnota" a <option value"nasobeni"> a potom to buzd naswitchujes nebo naifujes na operace tak to pujde:
if ($_POST["operace"] == "nasobeni") { //proces s nasobenim echo $_POST["prvnihodnota"]*$_POST["druhahodnota"] } a tak dál |
||
Chlebíček Profil * |
#5 · Zasláno: 12. 11. 2008, 17:21:09
tam jde o to ze se maj vynasobit ty cisla mezi sebou .. takze kdyz zadam 1 a 5 tak se musi vynasobit 1*2*3*4*5 :)
|
||
Sicario Profil * |
#6 · Zasláno: 12. 11. 2008, 21:14:39
Chlebíček
Ja bych to cele resil nejak takhle.... Misto 4 obdobnych cyklu staci jeden a rozhoduje se az v nem. $proces = intval($_POST['start']); $o = $_POST['operace'] for($i = $proces+1; $i <= intval($_POST['konec']; $i++){ if ($o == '+') $proces += $i elseif ($o == '-') $proces -= $i // atd... } Jinak soucin po sobe jdoucich cisel se nazyva faktorial a casto se resi rekurzivnim volanim funkce (google toho na dotaz "faktorial php" najde celkem dost). Na soucet po sobe jdoucich cisel existuje jednoduchy vzorec, ktery odvodil pan Gauss na zakladni skole:-) Jen s delenim me ted nic nenapada. |
||
Časová prodleva: 16 let
|
0