2 svar
27 visningar
mira****m**** 6
Postad: 30 sep 20:48

Hur jag ska göra för att skriva ut medelvärdet i case 2, inte den totala summan

thedifference 299
Postad: 30 sep 21:21

Ska sum innehålla medelvärdet? Det används ju som en summa. Du har en annan int, medelvärde, som har lämpligt namn och som faktiskt innehåller medelvärdet. Skriv ut den istället för sum, och fixa kommentaren.

(Och snälla, sluta lägga upp foton på din kod.)

sictransit 885 – Livehjälpare
Postad: 30 sep 21:41 Redigerad: 30 sep 21:41

Det finns ett annat problem också: Du räknar ut medelvärdet med en heltalsdivision.

Om du slår en vanlig tärning en massa gånger är det lätt att inse att medelvärdet närmar sig 3,5. Möjliga värden är 1..6, så medelvärdet blir (1+6)/2. I din kod kommer det att bli =3.

Kika på den här koden. Provkör gärna!

namespace PluggAkuten
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int throws = 10000;
            var rnd = new Random();
            int sum = 0;

            for (int t = 0; t < throws; t++)
            {
                sum += rnd.Next(1, 7); // 1..6 (inclusive)                
            }

            Console.WriteLine($"Average should be close to 3,5: " + sum / throws);
            Console.WriteLine($"Average should be close to 3,5: " + sum / (double)throws);
        }
    }
}

Det här är resultatet:

Average should be close to 3,5: 3
Average should be close to 3,5: 3,4959
Svara
Close