| Poglej prejšnjo temo :: Poglej naslednjo temo |
| Avtor |
Sporočilo |
Marko Vodja krožka
Pridružen/-a: Ned Apr 2006 19:16 Prispevkov: 44
|
Objavljeno: 28. Maj 2006 23:01 Naslov sporočila: [4. teden] Rešitve |
 |
|
1.
| Koda: | function je_sodo($stevilo) {
if ($stevilo % 2 == 0) {
return true;
} else {
return false;
}
} |
2.
| Koda: | <?php
$grb = 0;
$cifra = 0;
for ($i = 0; $i < 50000; $i++) {
$kovanec = rand(0,1);
if ($kovanec == 0) {
$grb++;
} else {
$cifra++;
}
}
print "Grb: " . round(($grb/50000)*100,2) . "<br />";
print "Cifra: " . round(($cifra/50000)*100,2);
?> |
3.
| Koda: | <form method="post">
Tvoje ime: <input type="text" name="ime"/><br />
<input type="submit" value="Pošlji" name="akcija"/>
</form>
<?php
$stej = 0;
if ($_POST['akcija'] && $_POST['ime']) {
for ($i = 0; $i < strlen($_POST['ime']); $i++) {
if (strtolower(substr($_POST['ime'],$i,1)) == "a") {
$stej++;
}
}
print "<br />a-jev: {$stej}";
}
?> |
4.
| Koda: | $i = 0;
while ($i < 10001) {
if ($i % 2 != 0) {
print $i . "<br />";
}
$i++;
} |
5.
| Koda: | <?php
function primerjaj($niz1,$niz2) {
if ($niz1 == $niz2) {
print "Juhu!";
}
}
primerjaj($_GET['niz1'],$_GET['niz2']);
?> |
6.
| Koda: | <html>
<body style="background-color: #<?php print $_GET['barva']?>">
Izberi barvo ozadja: <a href="?barva=0000FF">modra<a/>
<a href="?barva=FF0000">rdeča<a/>
<a href="?barva=00FF00">zelena<a/>
<a href="?barva=FFFF00">rumena<a/>
</body>
</html> |
|
|
| Nazaj na vrh |
|
 |
Hrenojed Začetnik
Pridružen/-a: Pon Jun 2006 17:50 Prispevkov: 4
|
Objavljeno: 11. Jun 2006 12:12 Naslov sporočila: |
 |
|
Zdravo. Imam težave pri drugi nalogi. Rešil sem jo, nato pa sem jo še malo zakompliciral. A kdo ve, kje je tukaj napaka? Izpiše mi 0% in včasih 0,01%.
| Koda: | <?php
for ($i = 0; $i <= 50000; $i++) {
for ($c = 0; $c <= 9; $c++) {
$rand["$c"] += rand(0,1);
}
}
for ($e = 0; $e <= 9; $e++) {
$rand["$e"] /= 50000 * 100;
}
$rand = $rand["0"] + $rand["1"] + $rand["2"] + $rand["3"] + $rand["4"] +
$rand["5"] + $rand["6"] + $rand["7"] + $rand["8"] + $rand["9"];
$rand = $rand / 10;
$rand = round($rand, 2);
echo $rand."%";
?> |
Hvala  _________________ <?= $me ="!noob && !leet" ?> |
|
| Nazaj na vrh |
|
 |
Marko Vodja krožka
Pridružen/-a: Ned Apr 2006 19:16 Prispevkov: 44
|
Objavljeno: 11. Jun 2006 12:28 Naslov sporočila: |
 |
|
1. ni potrebno pisati $rand["$e"], povsem dovolj je $rand[$e]
2. tole
| Koda: | for ($e = 0; $e <= 9; $e++) {
$rand["$e"] /= 50000 * 100;
} |
Pomoje ni ql.
3. | Koda: | $rand = $rand["0"] + $rand["1"] + $rand["2"] + $rand["3"] + $rand["4"] +
$rand["5"] + $rand["6"] + $rand["7"] + $rand["8"] + $rand["9"]; |
nadomesti z zanko  |
|
| Nazaj na vrh |
|
 |
Hrenojed Začetnik
Pridružen/-a: Pon Jun 2006 17:50 Prispevkov: 4
|
Objavljeno: 11. Jun 2006 13:19 Naslov sporočila: |
 |
|
2. Kako bi to naredil na boljši način?
3.
| Koda: |
$rand =
for ( $a = 0; $a <=9; $a++) { $rand[$a] + } ;
|
A tako? :S Mal čudno zgleda  _________________ <?= $me ="!noob && !leet" ?> |
|
| Nazaj na vrh |
|
 |
Marko Vodja krožka
Pridružen/-a: Ned Apr 2006 19:16 Prispevkov: 44
|
Objavljeno: 11. Jun 2006 14:15 Naslov sporočila: |
 |
|
2. to morš ti vedt, men se ne svita čist, kaj sploh hočš narest
3. | Koda: | for ($i = 0; $i < 9; $i++) {
$randB += $rand[$i];
} |
Tle morš met dve spremeljivki, ker ne moreš hkrat met 1D in 2D polja pod istim imenom (kot je v tvoji prvi kodi)  |
|
| Nazaj na vrh |
|
 |
Hrenojed Začetnik
Pridružen/-a: Pon Jun 2006 17:50 Prispevkov: 4
|
Objavljeno: 11. Jun 2006 14:20 Naslov sporočila: |
 |
|
2. Ja vsak $rand ki ga generiram bi delil z 5000 in nato pomnožil s 100.
3. Zdej pa jaz ne razumem  _________________ <?= $me ="!noob && !leet" ?> |
|
| Nazaj na vrh |
|
 |
blan Novinec
Pridružen/-a: Tor Maj 2006 14:55 Prispevkov: 16
|
Objavljeno: 11. Jun 2006 22:10 Naslov sporočila: |
 |
|
Če prav razumem:
| Koda: |
$rand; //tukaj mor biti definicija, drugače skope zeza
for ($i = 0; $i <= 50000; $i++) //tale vrstica je nepotrebna
for ($c = 0; $c <= 9; $c++)
$rand[$c] += rand(0,1); //razen če naj bi bilo $rand[$i][$c]
//glede tegaleˇ:
$rand = //for zanka v deklaraciji?
for ( $a = 0; $a <=9; $a++) { $rand[$a] + } ; //s čim natanko se rand sešteje in em, kam gre nato ta vrednost
|
Markova koda pa je to kar si želel.
(edit)
Spet sem bil prehiter, ok:
| Koda: |
<?php
for ($i = 0; $i <= 50000; $i++) {
for ($c = 0; $c <= 9; $c++) {
$rand["$c"] += rand(0,1); // "$c" je string tam pa se pričakuje vrednost, problem tudi nastopi, ker ne interpretator ne ve, da je rand polje, zato javi napako da je tisto mesto(spomina) nedefinirano, in tudi tega ne naredi (tako se mi vsaj zdi :),php je dost visokonivojsi (zame)) zato pridejo tudi procenti zelo majhni
}
} //tukaj se vse konča, rand je "veljaven" samo v bloku druge for zanke, ko se blok konča, ($rand) ni več.
for ($e = 0; $e <= 9; $e++) {
$rand["$e"] /= 50000 * 100; //tole je nov ($rand) opt: /=50
}
$rand = $rand["0"] + $rand["1"] + $rand["2"] + $rand["3"] + $rand["4"] +
$rand["5"] + $rand["6"] + $rand["7"] + $rand["8"] + $rand["9"]; //-""
$rand = $rand / 10;
$rand = round($rand, 2);
echo $rand."%";
?>
//majhna optimizacija (obdrži se druga for zanka (*10 povprečji)
//ker si napisal kako bi lak oizboljšal
<?php
$rand=0;
for ($i = 0; $i <= 50000; $i++)
for ($c = 0; $c <= 9; $c++)
$rand += rand(0,1);
$rand /= 5000;
echo $rand."%";
?>
|
|
|
| Nazaj na vrh |
|
 |
|