Spletni PHP krožek Seznam forumov Spletni PHP krožek
Debata o snovi in domačih nalogah
 
 Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov 
 Tvoj profilTvoj profil   Nimaš novih sporočilNimaš novih sporočil   Odjava [ Marko ]Odjava [ Marko ] 

[4. teden] Rešitve

 
Objavi novo temo   Odgovori na to temo    Spletni PHP krožek Seznam forumov -> Domače naloge
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Marko
Vodja krožka


Pridružen/-a: Ned Apr 2006 19:16
Prispevkov: 44

PrispevekObjavljeno: 28. Maj 2006 23:01    Naslov sporočila: [4. teden] Rešitve Odgovori s citatom Popravi/Izbriši to sporočilo Izbriši to sporočilo Prikaži IP avtorja

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
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Hrenojed
Začetnik


Pridružen/-a: Pon Jun 2006 17:50
Prispevkov: 4

PrispevekObjavljeno: 11. Jun 2006 12:12    Naslov sporočila: Odgovori s citatom Popravi/Izbriši to sporočilo Izbriši to sporočilo Prikaži IP avtorja

Zdravo. Smile 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%. Confused

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 Smile
_________________
<?= $me ="!noob && !leet" ?>
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Marko
Vodja krožka


Pridružen/-a: Ned Apr 2006 19:16
Prispevkov: 44

PrispevekObjavljeno: 11. Jun 2006 12:28    Naslov sporočila: Odgovori s citatom Popravi/Izbriši to sporočilo Izbriši to sporočilo Prikaži IP avtorja

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 Wink
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Hrenojed
Začetnik


Pridružen/-a: Pon Jun 2006 17:50
Prispevkov: 4

PrispevekObjavljeno: 11. Jun 2006 13:19    Naslov sporočila: Odgovori s citatom Popravi/Izbriši to sporočilo Izbriši to sporočilo Prikaži IP avtorja

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 Wink
_________________
<?= $me ="!noob && !leet" ?>
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Marko
Vodja krožka


Pridružen/-a: Ned Apr 2006 19:16
Prispevkov: 44

PrispevekObjavljeno: 11. Jun 2006 14:15    Naslov sporočila: Odgovori s citatom Popravi/Izbriši to sporočilo Izbriši to sporočilo Prikaži IP avtorja

2. to morš ti vedt, men se ne svita čist, kaj sploh hočš narest Wink

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) Wink
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Hrenojed
Začetnik


Pridružen/-a: Pon Jun 2006 17:50
Prispevkov: 4

PrispevekObjavljeno: 11. Jun 2006 14:20    Naslov sporočila: Odgovori s citatom Popravi/Izbriši to sporočilo Izbriši to sporočilo Prikaži IP avtorja

2. Ja vsak $rand ki ga generiram bi delil z 5000 in nato pomnožil s 100. Smile

3. Zdej pa jaz ne razumem Very Happy
_________________
<?= $me ="!noob && !leet" ?>
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
blan
Novinec


Pridružen/-a: Tor Maj 2006 14:55
Prispevkov: 16

PrispevekObjavljeno: 11. Jun 2006 22:10    Naslov sporočila: Odgovori s citatom Popravi/Izbriši to sporočilo Izbriši to sporočilo Prikaži IP avtorja

Č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)
Embarassed 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
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Spletni PHP krožek Seznam forumov -> Domače naloge Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1
Začni slediti novim sporočilom na to temo
 
Izbriši temo Premakni temo Zakleni temo Razdeli temo 
Pojdi na:  
Da, lahko dodajaš nove teme v tem forumu
Da, lahko odgovarjaš na teme v tem forumu
Da, lahko urejaš svoje prispevke v tem forumu
Da, lahko brišeš svoje prispevke v tem forumu
Da, lahko glasuješ v anketi v tem forumu
Da, lahko urejaš ta forum

Administrativni kotiček


Powered by phpBB © 2001, 2005 phpBB Group