This is an old revision of the document!


Lösningsförslag - Medianvärde

<?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;							  // Skapa arrayen
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'); ?>