Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Zahlen zufällig verteilen (https://www.gegen-bilderklau.net/thread.php?threadid=167761)


Geschrieben von Morgan Girl am 27.01.2010 um 15:43:

  Zahlen zufällig verteilen

Hallo (:
ich habe folgenden Codefetzen:
php:
1:
2:
3:
4:
5:
6:
7:
8:

<?php
for($i 0$i 6$i++)
{
    echo rand(1,5)." ";
}
?>
Der gibt mir 6 zufällige Zahlen zwischen 1 und 5. Nun hätte ich gerne, dass diese 6 Zahlen zusammengezählt 10 ergeben. Was muss ich um-/reinschreiben?



Geschrieben von Julia712 am 27.01.2010 um 15:57:

 

*uff* Ich würde ja vorschlagen jede zahl in ein array zu speichern, dann in jedem durchlauf zu prüfen ob die bisher gewürfelten zahlen <10 sind und dann nur 5x zu würfeln und der letzten zahl dann einfach 10 - alle zahlen zuzuweisen...


Lg, Julia



Geschrieben von Morgan Girl am 27.01.2010 um 17:37:

 

genau (:



Geschrieben von Morgan Girl am 27.01.2010 um 17:45:

 

hm also ich hab ne lösung gefunden wies funktioniert

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:

<?php
$insgesamt 10;
for($i 0$i 6$i++)
{
$rand rand(1,5);
if ($rand $insgesamt) {$x $insgesamt;}
else {$x $rand;}
echo $x." ";
$insgesamt $insgesamt $x;
} 
?>


blöderweise sind die letzten beiden Zahlen dann meistens 0 großes Grinsen kann man das auch noch anders verteilen?



Geschrieben von Morgan Girl am 27.01.2010 um 17:54:

 

ich bräuchte auch nur eine großes Grinsen naja wenn nicht gehts auch so


//edit: bäääm habs geschafft.

danke für die hilfe

iwie schaffst du es immer, mir auf die sprünge zu helfen^^



Geschrieben von Julia712 am 27.01.2010 um 17:57:

 

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:

<?php

$zahl[0] = 1;
$zahl[1] = 1;
$zahl[2] = 1;
$zahl[3] = 1;
$zahl[4] = 1;
$zahl[5] = 1;

for($i 0$i 5$i++)
{
 $zahl[$i] = rand(1,5);
 if ($zahl[0] + $zahl[1] + $zahl[2] + $zahl[3] + $zahl[4] + $zahl[5] > 10)
 {
  while ($zahl[0] + $zahl[1] + $zahl[2] + $zahl[3] + $zahl[4] + $zahl[5] > 10)
  {
   $zahl[$i] = $zahl[$i] - 1;
  }
 }
}
$zahl[5] = 10 - ($zahl[0] + $zahl[1] + $zahl[2] + $zahl[3] + $zahl[4]);

echo"
<b>fertiges Ergebnis</b><br>
$zahl[0] + $zahl[1] + $zahl[2] + $zahl[3] + $zahl[4] + $zahl[5] = 10
";
?>




Lg, Julia


Forensoftware: Burning Board, entwickelt von WoltLab GmbH