#1 před 2 lety

sima
Člen
Registrovaný: 21. 9. 2009
Příspěvky: 5

jaktoze to nefunguje

zdravim..zacal jsem se tak nejak sam ucit v php a mam potiz:-)

<?php

if (!$_POST) {
        ?>
<form method="post" action="nejvetsidelitel.php">
prvni cislo:<br>
<input type="text" name="x"><br>
druhe cislo:<br>
<input type="text" name="y"><br>
<input type="submit" value="odeslat">
</form>
<?php }
else {
$x = $_POST['x'];
$y = $_POST['y'];
        for ($i = $x; $i > 0, $x % $i === 0, $y % $i === 0; $i--) {
                        echo $i;
                };
}
?>

melo by to byt jednoduche vypocitavani nejvetsiho spolecneho delitele tech dvou cisel v zadani..(uvazuju,ze x je mensi jak y,ale to by se dalo osetrit)kazdopadne to nefunguje..nejak mi asi ten cyklus nechce cyklovat..co je tam spatne?kdyz je spravne hnedka prvni vstupni hodnota, tak to funguje,jinak to nevypise zhola nic..diky za rady, fakt v tom zacinam:-)

Editoval sima (21. 9. 2009 16:25)

 

#2 před 2 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: jaktoze to nefunguje

Dostanes se vubec nekdy do te else casti podminky?

Osobne bych takovyto cyklus for nikdy nenapsal. Spise bych pouzil if v kombinaci s break (popripade continue, ale ten je zde nevhodny).

 

#3 před 2 lety

sima
Člen
Registrovaný: 21. 9. 2009
Příspěvky: 5

Re: jaktoze to nefunguje

no do else se dostanu vzdycky, pokud jeste nebyl odeslan formular..jakmile ho odeslu tak se prejde na ten cyklus..no ja nejak z toho co jsem zatim videl vyrozumel,ze if-else neni cyklus,respektive me nenapada jak na to..mam dve cisla..to mensi priradim k $i,nasledne musim zajistit aby $i byla vetsi jak nula,potom vydelim $i obe cisla..kdyz je zbytek nenulovy,tak se to neda celociselne vydelita,provedu dekrementaci a jedu dal..tak nejak me napada,jestli tomu nejakym zpusobem nevadi,ze se splni jen cast podminek u toho ‚for‘…jestli to je vubec validni toho tam dat vic jak jednu podminku?diky za rady..

 

#4 před 2 lety

sima
Člen
Registrovaný: 21. 9. 2009
Příspěvky: 5

Re: jaktoze to nefunguje

to stim if/else..neco ve smyslu:
<?php if ($i > 0) {
if ($i % $x) {
if ($i % $y){
echo $i;};}
else {$i--;};}
else {$i--;};}
else {$i--;}
?>

??to mi pripada strasny:-Dnebo pak je jeste nejaky elseif nebo co,ale to moc nevim k cemu je:-D

Editoval sima (21. 9. 2009 16:46)

 

#5 před 2 lety

sima
Člen
Registrovaný: 21. 9. 2009
Příspěvky: 5

Re: jaktoze to nefunguje

je to nejak divne zformatovany, tak sorry…

 

#6 před 2 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: jaktoze to nefunguje

U kazdeho prispevku mas Editovat a i Smazata. Tak prosimte to uprav do citelne podoby!!!

 

#7 před 2 lety

kosoj
Člen
Registrovaný: 21. 1. 2009
Příspěvky: 10

Re: jaktoze to nefunguje

Ten algoritmus je dost nečitelný. Podíval bych se na to vyhodnocení ve for klauzuli.

manuálu se píše „In expr2, all expressions separated by a comma are evaluated but the result is taken from the last part“, takže to projde jen v případě, kdy se „
$y % $i === 0“ rovná TRUE (když se trefíš napoprvé).

 

#8 před 2 lety

sima
Člen
Registrovaný: 21. 9. 2009
Příspěvky: 5

Re: jaktoze to nefunguje

aha..no ja to tak nejak cekal,ze bude problem nekde tady.pokusim se to nejak predelat ,aby to funogvalo..kazdopadne diky za pomoc..

 

Zápatí