Autor Zpráva
Chlebíček
Profil *
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 *
Tak $proces potrebuje nejakou vychozi hodnotu, $proces = 1.
Chlebíček
Profil *
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
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 *
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 *
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0