PHP fóra: Builder | JakPsatWeb | Webtrh
Nejste přihlášen(a)
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)
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).
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..
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)
je to nejak divne zformatovany, tak sorry…
U kazdeho prispevku mas Editovat a i Smazata. Tak prosimte to uprav do citelne podoby!!!
Ten algoritmus je dost nečitelný. Podíval bych se na to vyhodnocení ve for klauzuli.
V 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é).
aha..no ja to tak nejak cekal,ze bude problem nekde tady.pokusim se to nejak predelat ,aby to funogvalo..kazdopadne diky za pomoc..