Differences

This shows you the differences between two versions of the page.

Link to this comparison view

amdele_median [2017-09-01 14:54]
amdele_median [2022-07-18 13:20] (current)
Line 1: Line 1:
 +====== Lösningsförslag - Medianvärde ======
 +<code php>
 +<?php
 +include('head.php');
 + 
 +
 + 
 +if(isset($_POST['submit'])){   // För att slippa felmeddelande första gången sidan laddas och inget är inmatat
 +  $numbers = array();
 +  
 +  $i=0;   // Skapa arrayen
 +  while ($i < $_POST['antal']) { 
 +    $numbers[] = mt_rand(-1000,1000);
 +    $i++;
 +  } 
 +
 +  //Sortera
 +  sort($numbers);
 +
 +  //Skriv ut arrayen
 +  $i=0;
 +  while ($i < count($numbers)) { 
 +    echo $numbers[$i] . ' ';
 +    $i++;
 +  } 
 +
 +  //Medianvärdet
 +  if (count($numbers)%2 == 1){ //Udda antal element i arrayen
 +    //Vi söker nyckeln som är i mitten
 +    $key = (int)count($numbers)/2; // Dela med två och bortse från decimaler (T.ex. 3/2 = 1.5 => 1 (utan decimaler)
 +   
 +    echo 'Medianvärdet: ' . $numbers[$key];
 +   
 +  }else{ //Jämnt antal element i arrayen
 +    
 +    //Vi söker nycklar till de två mittersta elementen.
 +    
 +    $key2 = count($numbers)/2; // Dela med två ger den övre nyckeln (T.ex. 4/2 = 2 Vi vill ha nyckel 2 och 1)
 +    $key1 = $key2 - 1;
 +    
 +    // Beräkna medelvärdet av de två mittersta, avrunda till 1 decimaler)
 +    $median = round((($numbers[$key1] + $numbers[$key2])/2),1);
 +    
 +    echo 'Medianvärdet: ' . $median;
 +    
 +  } 
 +}
 +?>
 + 
 +<form method="post">
 +  Skriv nåt: <input type="number" name="antal"><br>
 +  <input type="submit" name="submit" value="Skicka">
 +</form>
 + 
 +<?php
 +include('foot.php');
 +?>
 +</code>
 +