Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Losowa Liczba
Riper
post 16.08.2004, 20:01:50
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 28.01.2004
Skąd: Bochnia

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


hej, wydaje mi sie ze istanieje w php mechanizm generowania loswej liczby, moglby mi ktos takowy przytoczyc ?


--------------------
wzory cv i szablony
Go to the top of the page
+Quote Post
cim
post 16.08.2004, 20:20:31
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


  1. <?php
  2. $liczba_losowa = rand();
  3. ?>


ten kod zwróci raczej dużą licze, jeżeli chcesz liczbe z jakiegoś zakresu to wywołujesz funkcje rand z 2 argumentami - pierwszy to dolny prób a drugi to górny prób przedziału...


--------------------
errare humanum est
Go to the top of the page
+Quote Post
Riper
post 16.08.2004, 20:25:04
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 28.01.2004
Skąd: Bochnia

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


Cytat(cim @ 2004-08-16 21:20:31)
  1. <?php
  2. $liczba_losowa = rand();
  3. ?>


ten kod zwróci raczej dużą licze, jeżeli chcesz liczbe z jakiegoś zakresu to wywołujesz funkcje rand z 2 argumentami - pierwszy to dolny prób a drugi to górny prób przedziału...

wielkie dzieki winksmiley.jpg


--------------------
wzory cv i szablony
Go to the top of the page
+Quote Post
tes
post 16.08.2004, 20:43:24
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 23.06.2004
Skąd: Rzeszów

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


heh moze sie przydam, tez sie ucze i akurat przerabialem ten temat smile.gif

  1. <?
  2.  
  3. $szukana=5;
  4.  
  5.  
  6. for ($i=0; $i<20; $i++) {
  7. $liczby[$i] = rand (0, 20);
  8. }
  9.  
  10. $ileznaleziono=0;
  11. for ($i=0; $i<20; $i++) {
  12. print &#092;"$liczby[$i] \";
  13. if ($liczby [$i] == $szukana) {
  14. $ileznaleziono++;
  15. }
  16. }
  17.  
  18. if ($ileznaleziono==0) {
  19. print (&#092;"<p>Liczba $szukana w tablicy nie odnaleziono.\");
  20. } else {
  21. print (&#092;"<p>Liczbe $szukana w tablicy odnaleziono $ileznaleziono razy.\");
  22. }
  23.  
  24.  
  25. ?>



losowa liczba od 0-20 wlacznie, wypisuje 20 losowo generowanych liczb i wypisuje ile razy w tablicy znalazla sie $szukana

odsylam tez do manuala:

Cytat
rand
(php 3, php 4 , php 5)

rand -- Wygeneruj liczbę losową
Opis
int rand ( void )

int rand ( int min, int max)


Jeśli wywołana bez opcjonalnych argumentów min i max, funkcja rand() zwraca liczbę pseudolosową z przedziału pomiędzy 0 a RAND_MAX. Jeśli potrzebujesz liczby losowej z przedziału np. od 5 do 15 (włącznie), użyj rand (5,15).

W starszych wersjach php trzeba było najpierw zainicjować generator liczb losowych za pomocą funkcji srand(). Począwszy od php 4.2.0 nie jest to już konieczne.

Notatka: W wersjach przed 3.0.7 argument max znaczył zakres. Aby otrzymać takie same wyniki w tychże wersjach, należy użyć rand (5, 11) aby otrzymać liczbę losową z przedziału od 5 do 15.



Pozdorwienia, mam nadzieje, ze pomoglem winksmiley.jpg

I mam jeszcze pytanie: czyli wychodzi na to ze nie trzeba juz inicjowac (?) srand(time()) ?

Ten post edytował tes 16.08.2004, 20:46:13


--------------------
czemuja?
Go to the top of the page
+Quote Post
silent
post 18.08.2004, 14:52:42
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.08.2004
Skąd: Jastrzębie Zdrój

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


  1. <?php
  2.  
  3. for ($i=0; $i<20; $i++) {
  4. print &#092;"$liczby[$i] \"; // tutaj znaki \" \" są zbędne a spowalniają działanie interpretera php
  5. }
  6.  
  7. // To samo można zrobić tak:
  8.  
  9. foreach ($liczby as $wartosc) {
  10. print $wartosc;
  11. }
  12.  
  13. ?>

Cytat
I mam jeszcze pytanie: czyli wychodzi na to ze nie trzeba juz inicjowac (?) srand(time()) ?

Nie trzeba, chyba że chcesz wygenerować konkretny ciąg liczb pseudolosowych, podajesz srand(liczba).
Go to the top of the page
+Quote Post
tes
post 18.08.2004, 15:35:50
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 23.06.2004
Skąd: Rzeszów

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


dzieki


--------------------
czemuja?
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 02:01