Jag håller på med lab4. uppgiften 2.1. Jag förstår inte varför det blir fel, har kontrollerat värdena på annat sätt. Jag skulle uppskatta en hint om var problemet finns. Vad är det som efterfrågas? Vad ska stå efter "ANSWER"?
Svaret blir
>>> 2.1 FAIL.
>>> You said:
[
908,
1453,
1321,
1321,
755,
28353
] (array)
Svaret blir
>>> 2.1 FAIL.
>>> You said:
[
908,
1453,
1321,
1321,
755,
28353
] (array)
- Kod: Markera allt
/**
* Exercise 2.1 (3 points)
*
* In this exercises you should use the former functions `sumArray()` and
* `calculateArea()`. Create a new function called `calculateMany()` that
* takes an array with numbers as argument. For every number in the array,
* call `calculateArea()` and store the result in a new array. The last
* position in your new array should hold the result of a call to the function
* `calculateArea()` where you pass the sum of the whole array, you passed as
* argument. All numbers in the resulting array should be rounded up to
* nearest integer.
*
* Answer with a call to `calculateMany()` with the array `34, 43, 41, 41,
* 31`.
*
* Write your code below and put the answer into the variable ANSWER.
*/
function calculateMany($arrayen){
$totNr = 0;
// hur många värden
$totNr = count($arrayen);
$nrSista = $totNr-1;
$area = 0;
$areaFloat =0;
// echo "antal värden i arrayen: " . $totNr . "<br>";
// echo "sista cellen i arrayen är: " . $nrSista . "<br><br>";
$nyArray =[];
$totSum = 0;
$totSumFloat = 0;
for ($i=0; $i <= $nrSista; $i++) {
// hämta nästa värde och anropa calculateArea, avrunda uppåt
$area = ceil(calculateArea($arrayen[$i]));
// lagra värdet som integer, i en ny array
array_push($nyArray, (int)$area);
}
// beräkna värdet på värden i anropet
$totSum = ceil(sumArray($arrayen));
// beräkna sista värdet, avrundat uppåt, för totala värdet på inparametrar
$sistaV = ceil(calculateArea($totSum));
echo "Värde på alla invärden= " . $totSum . ", arean är= " . $sistaV ."<br>";
// lagra den sista ytan som int i arrayen
array_push($nyArray, (intval(($sistaV))));
// returnera arrayen som funktionen skapat
return $nyArray;
}
// $arrayen = array(34, 43, 41, 41, 31);
//$svar = calculateMany(array(34, 43, 41, 41, 31));
// var_dump($svar); //28353
$ANSWER = calculateMany(array(34, 43, 41, 41, 31));
Senast redigerad av brha18 13 nov 2018, 16:56, redigerad totalt 3 gånger.