Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Mediana
Drohan
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.01.2010

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


Witam,

jestem początkujący w temacie php, napisałem krótki program, gdzie odpowiedzi zaznaczone przez użytkownika są wyświetlane na ekranie oraz zapisywane do pliku. potrzebuję obliczyć medianę z z danych, które wybrała w dana osoba.

moje zmienne to :
$o1
$o2
$o3
$o4
$o5
$o6
$o7
$o8
$o9
$o10


czy jest ktoś kto mógłby mi w tym pomóc w napiasaniu kodu do tego questionmark.gif

Ten post edytował Drohan 7.01.2010, 05:49:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


  1. $os = array($o1, $o2, $o3, $o4, $o5, $o6, $o7, $o8, $o9, $o10);
  2. // a tam od razu bąbelkową, wystarczy quicksort
  3. sort($os);
  4. $mediana = null;
  5. $am = count($os);
  6. if($am % 2 == 0) { // parzyste
  7. $ma = ($am - 1 ) / 2;
  8. $mediana = ($os[$ma] + $os[$ma + 1]) / 2;
  9. }
  10. else { // nieparzyste
  11. $mediana = $os[($am - 1) / 2];
  12. }
  13. echo "mediana : ".$mediana;


Albo krócej:
  1. $os = array($o1, $o2, $o3, $o4, $o5, $o6, $o7, $o8, $o9, $o10);
  2. sort($os);
  3. $mediana = null;
  4. $am = count($os);
  5. $h = ($am - 1 ) / 2;
  6. if($am % 2)
  7. $mediana = $os[$h];
  8. else
  9. $mediana = ($os[$h] + $os[$h + 1]) / 2;
  10. echo "mediana : ".$mediana;


Jeśli popsułem zabawę i sam chciałeś dojść do rozwiązania, to przepraszam winksmiley.jpg

Ten post edytował darko 7.01.2010, 04:18:47


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Drohan
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.01.2010

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


wielkie Dzięki Kolego smile.gif oczywiście że mi pomogłeś udało mi się również zmodyfikowac KOD pod sortowanie bąbelkowe smile.gif
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 Aktualny czas: 20.08.2025 - 12:39