Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]sumowanie losowych liczb
Forum PHP.pl > Forum > Przedszkole
dominik_fil
Chcę wyświetlić sumę 10 losowych liczb z przedziału od 1 do 15.

A w drugim pliku chciałbym sprawdzac czy ta liczba z pliku nr 1 jest parzysta czy nie i żeby podawało kominukat o tym.

Pierwszy mam coś takiego, jak poniżej. Nie wiem jak je sumować?
A drugiego nie mam pojęcia jak zacząć.


  1. <HTML>
  2. <HEAD>
  3. </HEAD>
  4. <BODY>
  5.  
  6.  
  7. <?php
  8. // tablica z liczbami od 1 do 15
  9. $tab = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
  10.  
  11. // losowanie liczb zwróci liczby od 1 do 15
  12. echo $1[array_rand($tab)];
  13. echo $2[array_rand($tab)];
  14. echo $3[array_rand($tab)];
  15. echo $4[array_rand($tab)];
  16. echo $5[array_rand($tab)];
  17. echo $6[array_rand($tab)];
  18. echo $7[array_rand($tab)];
  19. echo $8[array_rand($tab)];
  20. echo $9[array_rand($tab)];
  21. echo $10[array_rand($tab)];
  22.  
  23. $suma = $1 + $2 + $3 + $4 + $5 + $6 + $7 + $8 + $9 + $10;
  24. print "suma to $suma\n";
  25.  
  26. ?>
  27.  
  28. </BODY>
  29. </HTML>
styryl
  1. <?php
  2.  
  3. $tab = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
  4.  
  5. $suma = 0;
  6. for ($index = 0; $index < 10; $index++) {
  7. $suma = $suma + array_rand($tab);
  8. }
  9.  
  10. echo $suma;
kreatiff
  1. $i = 10;
  2. while ( $i-- > 0 ) $tab[] = mt_rand(1,15);
  3. $suma = array_sum($tab);
dominik_fil
Super dzięki wielkie. Ale może mi ktoś powiedzieć, dalczego jak zapisze plik w notatniku jako html Unicode to po otwarciu wywala mi pusty ekran?
kreatiff
Do edytowania kodu najlepiej użyj czegoś innego. Ja polecam darmowego Notepad++.
Niestety nie wiem co może być przyczyną pustej strony.
dominik_fil
Proszę o sprawdzenie w takim razie czy te 3 pliki są dobrze zrobione.

Pierwszy jest od kolegi wyżej to na pewno.

Drugi sprawdza czy liczba jest parzysta.

A 3 wypisuje zawartość poprzednich dwóch.


  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>Pierwszy skrypt PHP</title>
  6. </head>
  7. <body>
  8. <?php
  9. $tab = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
  10. $suma = 0;
  11. for ($index = 0; $index < 10; $index++) {
  12. $suma = $suma + array_rand($tab);
  13. }
  14. echo $suma;
  15. ?>
  16. </body>
  17. </html>



  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>Pierwszy skrypt PHP</title>
  6. </head>
  7. <body>
  8.  
  9. <?php
  10. print ("Liczba z pliku a1.html: )";
  11. include ("a1.html");
  12.  
  13. if ($suma % 2 == 0) echo 'parzysta';
  14.  
  15. ?>
  16.  
  17. </body>
  18. </html>



  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>Pierwszy skrypt PHP</title>
  6. </head>
  7. <body>
  8.  
  9. <?php
  10. print ("Zawartość pliku a1.html - generuje liczby losowe i sumuje je: )";
  11. include ("a1.html");
  12. print ("Zawartość pliku a2.html - sprawdzanie parzystości liczby: )";
  13. include ("a2.html");
  14.  
  15. ?>
  16.  
  17. </body>
  18. </html>
kreatiff
Kod styryla ma jeden błąd.
array_rand zwraca klucz, a nie wartość z tablicy.
Innymi słowy nie zwróci Ci nigdy 15, w zamian za to może wylosować się 0.
Musisz użyć tego w taki sposób:
  1. $tab[array_rand($tab)]


Dodatkowo talbice z kolejnymi liczbami można stworzyć po prostu tak:
  1. $tab = range(1,15);
YourFrog
Chłopaki poważnie potrzeba aż tylu postów by wylosować 10 liczb i je zsumować, a później sprawdzić czy liczba jest parzysta ?

  1. <?php
  2.  
  3. $sum = 0;
  4. for( $i = 0; $i < 10; $i++ )
  5. $sum += rand(1, 15);
  6.  
  7. echo 'Suma losowych liczb: ' . $sum . '<Br>';
  8.  
  9.  
  10. echo ($sum % 2 == 0 ? 'Parzysta' : 'Nie parzysta');


Jeżeli chcesz przekazać zmienną pomiędzy wywołaniami strony to użyj:
- Ciasteczka
- Sesji
- Tablicy $_GET

Natomiast jeżeli chcesz po prostu na jednej stronie napisać i to i to ale logike chcesz mieć podzieloną to durnoty akurat w tym przypadku wymyślasz tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.