Hier noch meine lösung in PHP im Anhang findet ihr die Lösung zum Testen als .php Datei mit Erläuterungen:
<?php
/**
* Created by sehr Stürmisches PHP :-p
* User: montymotz
* Date: 07.11.2015
* Time: 14:31
*/
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
$einkommen = array(
"4200" => "1200",
"900" => "340",
"1800" => "600",
"3600" => "1100",
"2700" => "800",
"5900" => "1300");
function gruppieren($anzGrp, $staffelung)
{
global $einkommen;
ksort($einkommen);
$zga = array();
foreach ($einkommen as $k => $v){
$faktor = $k / $staffelung;
$intWert = intval($faktor);
if ($intWert >= $anzGrp) {
$gruppe = $anzGrp-1;
} else {
$gruppe = $intWert;
}
array_push($zga, array($gruppe, $k, $v));
}
return $zga;
}
function summieren($anzGrp, $staffelung)
{
$gruppen = gruppieren($anzGrp, $staffelung);
$summe = array();
for ($i = 0; $i < $anzGrp; $i++) {
$einkommen_summe = 0;
$miete_summe = 0;
foreach ($gruppen as $t) {
if ($t[0] == $i) {
$einkommen_summe += $t[1];
$miete_summe += $t[2];
}
}
array_push($summe, array($i, $einkommen_summe, $miete_summe));
}
return $summe;
}
function prozente($anzGrp, $staffelung)
{
$summe = summieren($anzGrp, $staffelung);
foreach ($summe as $t) {
echo "| " . $t[0] . " | " . round($t[2] / $t[1] * 100) . " |<br/>";
}
}
prozente(5, 1000);
?>
index.php