Kmom04, lab 4, uppgift 2:1

  • Författare
  • Meddelande

brha18

webbsurfare

  • Inlägg: 8
  • Blev medlem: 31 aug 2018, 18:49

Kmom04, lab 4, uppgift 2:1

Inlägg13 nov 2018, 09:27

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)

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.
Användarvisningsbild

Lew

dbwebb

  • Inlägg: 402
  • Blev medlem: 05 sep 2012, 13:42
  • Ort: Karlskrona

Re: Kmom04, lab 4, uppgift 2:1

Inlägg13 nov 2018, 10:04

Har du kikat på vad labben vill ha för svar?

Det gör du genom att ändra false till true under $ANSWER:

Kod: Markera allt
echo $dbwebb->assertEqual("2.1", $ANSWER, false);


till

Kod: Markera allt
echo $dbwebb->assertEqual("2.1", $ANSWER, true);
When in doubt, use brute force.

brha18

webbsurfare

  • Inlägg: 8
  • Blev medlem: 31 aug 2018, 18:49

Re: Kmom04, lab 4, uppgift 2:1

Inlägg13 nov 2018, 17:09

Tack för att du svarade.
Nu har jag ändrat till true. Då får jag ett svar som gör mig ännu mer förvirrad. Värdena är desamma så jag förstår inte vad som är fel. Är det fel format eller vad?

>>> 2.1 FAIL.
>>> You said:
[
908,
1453,
1321,
1321,
755,
28353
] (array)

>>> Hint:
[908,1453,1321,1321,755,28353] (array)

richard_st

på gång

  • Inlägg: 4
  • Blev medlem: 26 aug 2019, 05:23

Re: Kmom04, lab 4, uppgift 2:1

Inlägg17 sep 2019, 14:27

Hej,

Jag samma sak händer för min del.

>>> You said:
[
347,
1018,
1018,
79,
707,
13893
] (array)
>>> Hint:
[347,1018,1018,79,707,13893] (array)

Vad beror detta på?

Mvh,

Richard
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10988
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Kmom04, lab 4, uppgift 2:1

Inlägg19 sep 2019, 09:24

I uppgiftstexten står följande tips.
* Tip: `intval()`.
* Note: If your result seems correct but still fails, make sure your values
* are of the type Integer and not Float.


Om ni prövar en var_dump på arrayen så ser ni vilka typer som den innehåller.
...
..:
.... /mos

Vilka är online

Användare som besöker denna kategori: Bing [Bot] och 13 gäster