php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.10.2005, 15:39  
Benutzer
 
Registriert seit: 25.07.2005
Beiträge: 39
imported_kontur
Standard nicht doppelte zufallszahlen

Hallo zusammen!

Ich wollte ein Script schreiben, welches mir zwischen 20 und 50 Zufallszahlen ausgibt, von denen aber keine doppelt vorkommen darf.

Die erste For-Schleife checkt ob schon genug Zufallszahlen vorhanden sind.
Dann wird innerhalb der While-Schleife eine neue Zufallszahl erzeugt.
Im nächsten For wird überprüft, ob in dem Array der nicht doppelten Zufallszahlen die soeben erzeugte Zufallszahl schon vorhanden ist. Wenn ja, kommt die Bedingung der While-Schleife zum Tragen, wenn nein, dann wird die While-Schleife verlassen und die nicht doppelte Zufallszahl in das Array gespeichert.
Schließlich möchte ich alle gefundenen Zufallszahlen ausgeben lassen.

So zumindest der Plan.

Da ich noch nicht lange, bzw. nicht intensiv, mit Php arbeite vermute ich es handelt sich um einen Fehler mit dem Array, konnte aber nicht finden, was das Problem ist.

Code:
$howOftenBreak = rand(20,50);
							
							$whereBreak = array();
							$whereBreakLength = count($whereBreak);
							
							for ($b=0; $b<$howOftenBreak; $b++){
									$break = false;
									while ($break == false){
  									$breakPoint = rand(0,130);
  									$break = true;
  									for ($a=0; $a<$whereBreakLength; $a++){  
  											if ($breakPoint == $whereBreak[$a]){
  											$break = false;
  											}
  									}
$whereBreak[] = $breakPoint;
									}
							}							
							for ($c=0; $c<$whereBreakLength; $c++){
							echo $whereBreak[$c];
							}
Deshalb bitte ich hiermit um Hilfe. Hoffentlich kann mir jemand sagen, wo der Bug steckt.
Danke im Vorraus,
k.
imported_kontur ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.10.2005, 15:57  
Benutzer
 
Registriert seit: 25.07.2005
Beiträge: 39
imported_kontur
Standard

hmm...danke für den Codeschnipsel. Mich würde trotzdem noch interessieren, was an meinem Selbstgeschriebenem nicht funktioniert.

Ich habe in meinem Topic vergessen zu schreiben was da eigentlich nicht klappt . Das Skript läuft ohne Problem, aber es gibt absolut nichts aus.

Vielen Dank im Vorraus,
k.
imported_kontur ist offline  
Alt 15.10.2005, 16:04  
Erfahrener Benutzer
 
Registriert seit: 14.04.2005
Beiträge: 1.004
search
Standard

Zitat:
Das Skript läuft ohne Problem, aber es gibt absolut nichts aus.
__________________
schlimmer gehts nimmer.... dümmer immer!
search ist offline  
Alt 15.10.2005, 16:05  
Benutzer
 
Registriert seit: 25.07.2005
Beiträge: 39
imported_kontur
Standard

Zitat:
Zitat von search
Zitat:
Das Skript läuft ohne Problem, aber es gibt absolut nichts aus.
ohne eine Fehlermeldung auszuspucken meinte ich na klar
imported_kontur ist offline  
Alt 15.10.2005, 16:59  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
error_reporting
(E_ALL);

$howOftenBreak rand(20,50);
$whereBreak = array();
# $whereBreakLength = count($whereBreak);

for ($b=0$b<$howOftenBreak$b++){
    
$break false;
    while (
$break == false){
     
$breakPoint rand(0,130);
     
$break true;
     
# for ($a=0; $a<$whereBreakLength; $a++){ 
     # if ($breakPoint == $whereBreak[$a]){
     # $break = false;
     # }
     # }
$whereBreak[] = $breakPoint;
    }
}

for (
$c=0$c count($whereBreak); $c++){ 
echo 
$whereBreak[$c].' '
}

?>
EDIT:

Wobei das Script etwas umständlich geschrieben ist.

PHP-Code:
<?php
$numbers 
range (2050);
mt_srand ((float)microtime()* 500000);
shuffle ($numbers); 
foreach (
$numbers as $v) echo $v.' ';
?>
 
Alt 15.10.2005, 17:30  
Benutzer
 
Registriert seit: 25.07.2005
Beiträge: 39
imported_kontur
Standard

Ahjo...danke schon mal.

Was bedeutet die orange Markierung in deinem Quelltext-Ausschnitt?

Ich kannte weder den foreach- noch den range-Befehl. Danke.
Mit mt_srand erzeugst du also eine Zufallszahl die als Basis die jeweils momentane Zeit nimmt?
Aber wie werden die Zufallszahlen in dem unteren Codebeispiel jeweils in das Array geschrieben um dann gemischt und ausgegeben zu werden?


k.
imported_kontur ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[gelöst]LEFT JOIN, DINSTINCT und trotzdem doppelte?!?! stefanjann Datenbanken 10 06.02.2008 11:49
Doppelte einträge löschen Riks Datenbanken 6 25.04.2007 19:29
RegExp: doppelte Zeichen finden Zergling-new PHP Tipps 2006 2 13.04.2006 19:26
Wahrscheinlichkeit bei Zufallszahlen? (Normalverteilung) mAy^daY PHP Tipps 2006 24 14.02.2006 21:33
Select - doppelte Ergebnisse ragman Datenbanken 3 26.01.2006 11:53
Zufallszahlen... php_frage PHP Tipps 2007 3 26.12.2005 22:18
doppelte Werte / Strings einer Spalte nur einmal ausgeben... Datenbanken 2 29.07.2005 12:10
5 zufallszahlen von 10 ohne doppelte janni PHP Tipps 2005 1 17.05.2005 10:49
Verschiedene Zufallszahlen Freeaak PHP Tipps 2005 26 02.05.2005 13:55
Zufallszahlen wollen nicht... PHP Tipps 2005 9 11.04.2005 13:15
innerhalb eines echos doppelte anführungsstriche PHP Tipps 2005 4 04.03.2005 12:53
[Erledigt] Doppelte Einträge aus Textdatei entfernen PHP Tipps 2004 11 17.10.2004 15:00
Doppelte Datensätze anzeigen! Datenbanken 3 25.09.2004 17:42
Zufallszahlen falsch Wichtig PHP Tipps 2004 2 09.07.2004 12:59
Doppelte Einträge prüfen Datenbanken 12 15.06.2004 20:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mehrere zufallszahlen, mehrere zufallszahlen php, matlab zufallszahlen nicht doppelt, php verschiedene zufallszahlen, keine doppelten zufallszahlen, matlab doppelte werte finden, php, random zahlen unterschiedlich, unterschiedliche zufallszahlen matlab, matlab doppelte werte entfernen, matlab gleiche werte finden, mehrerer zufallszahlen php einmal, matlab unterschiedliche zufallszahlen, php unterschiedliche zufallszahlen, verschiedene zufallszahlen php, php zufallszahl nicht doppelt, php random zahlen ausgeben, php zufallszahl ausgeben, zufallszahl keine doppelt, c zufallszahlen nicht doppelt, matlab doppelte einträge löschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.