Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> losowanie bez powtórzeń
ktosia
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.04.2006

Ostrzeżenie: (0%)
-----


Witam
Mam problem z napisaniem skryptu, który losowałby liczby bez powtórzeń
Tzn. chodzi o to że mam tablice np. 50 elementową, której zawartością mają być losowo wybrane liczby z przedziału (1,500) tak aby się nie powtarzały …
Domyślam się ze powinnam losować z tablicy i wyrzucać wcześniej wylosowane elementy ... ale nie wiem jak to zrobić ... :/ na razie wymęczyłam takie coś:

  1. <?php
  2. $tablica = array();
  3. srand ((double) microtime() * 1000000);
  4. for ($i=0; $i<20; $i++)
  5. {
  6.  $p=1;//poczętek zakresu
  7.  $k=500;//koniec zakresu
  8.  $z = rand($p,$k);
  9.  $tablica[$i]=$z; 
  10.  }
  11. print_r ($tablica);
  12.  
  13. ?>


Bardzo proszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


A jaka to ma zlozonosc obliczeniowa? Jaka mam gwarancje ze skrypt sie zakonczy?

Cytat
<?php

$N = 500;
$i = 50;

$numbers = array_keys( array_fill( 1, $N, 0 ) ); // $N nie 50 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
print_r( $numbers );
$drawnNumbers = array_rand( $numbers, $i );
print_r( $drawnNumbers );
?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 20:07