![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 220 Pomógł: 0 Dołączył: 20.02.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam pewien problem, którego za *** nie mogę rozgryźć. Potrzebuję skryptu, który generował by liczby losowo, ale bez powtórzeń. Próbowałem z rand() ale zwraca liczby z powtórzeniami. Krótko mówiąc. Skrypt, jeżeli dostanie zadanie wygenerowania w losowej kolejności liczby od 1 do 50, to ma mi zwrócić 50 liczb, ułożonych losowo, gdzie każda liczba pojawi się tylko raz. :cry: -------------------- Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
uniqid(); :PPP
Manual www.php.net/uniqid -------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
1. utwórz tablicę 50-ciu pustych elementów.
2. wylosuj liczbę. 3. sprawdź czy liczba znajduje się w tablicy. 4. jeśli tak, idź do 2. 5. zapisz liczbę do tablicy. 6. zwiększ wskaźnik tablicy o jeden. 7. jesli wstaźnik <= 50 idź do 2 8. kup mi piwo. P.S. Uczyli mnie tego w 6 klasie podstawówki chyba... -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Kod for($i=0;$i<=50;$i++){
$tablica[]=$i; } shuffle($tablica); for($i=0;$i<count($tablica);$i++){ echo $tablica[$i]."<br>"; } shuffle() tasuje tablice (oczywiscie bez powtarzania elementow) -------------------- Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn< |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
Cytat 1. utwórz tablicę 50-ciu pustych elementów.
2. wylosuj liczbę. 3. sprawdź czy liczba znajduje się w tablicy. 4. jeśli tak, idź do 2. 5. zapisz liczbę do tablicy. 6. zwiększ wskaźnik tablicy o jeden. 7. jesli wstaźnik <= 50 idź do 2 8. kup mi piwo. P.S. Uczyli mnie tego w 6 klasie podstawówki chyba... Przy takim algorytmie mozesz sie tego piwa nie doczekac do u*** smierci. Wystarczy mala zlosliwosc ze strony funkcji przypadkowej... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
To dlatego, że ja mało piwa piję, to mi nie zależy. Przykład [fisher]'a jest bardzo fajny
![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 220 Pomógł: 0 Dołączył: 20.02.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Może nieco ściślej:
Istnieje baza danych, z tablicą zawierająca linki do stron. Potrzebuję funkcji, która wyciągała by dane z bazy danych, a następnie, w sposób nie posortowany, wyrzucała je na ekran. A jak zrobię F5, to ma mi jeszcze raz wyświetlić wyniki, ale w innej niż poprzednio kolejności. -------------------- Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Może nieco ściślej:
Istnieje baza danych, z tablicą zawierająca linki do stron. Potrzebuję funkcji, która wyciągała by dane z bazy danych, a następnie, w sposób nie posortowany, wyrzucała je na ekran. zrob to na poziomie samej bazy, bedzie raz szybciej a dwa prosciej dodaj do zapytania klauzule Kod order by rand()
i to wszystko -------------------- Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn< |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:34 |