C# :: Aufgabe #297

3 Lösungen Lösungen öffentlich

Wie viele Ticket-Käufer kommen wirklich?

Anfänger - C# von DragStar - 03.04.2020 um 16:10 Uhr
Der Besitzer einer Kleinkunstbühne weiß aus Erfahrung, dass nur 95% der Leute, die im Vorverkauf eine Karte erwerben,
tatsächlich zur Vorstellung kommen. Obwohl er nur 75 Plätze hat, verkauft er daher 78 Karten.
Simulieren Sie anhand von 100 Versuchen, wie viele Zuschauer wohl kommen.

Wie oft geht dabei seine Manipulation gut?

Lösungen:

vote_ok
von DragStar (2000 Punkte) - 06.04.2020 um 08:27 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ticketverkäufe
{
    class Program
    {
        static void Main(string[] args)
        {
            int zaehler_erfolg = 0;
            int zaehler_zusch = 0;
            Random zufallsgenerator = new Random();

            for (int i = 1; i < 101; i++)
            {
                for (int j = 1; j < 79; j++)
                {
                    int z = zufallsgenerator.Next(100);
                    if (z < 95)
                    {
                        zaehler_zusch++;
                    }
                }
                if (zaehler_zusch <= 75)
                {
                    zaehler_erfolg++;
                }
                zaehler_zusch = 0;
            }
            Console.WriteLine("Seine Manipulation ging " + zaehler_erfolg + " mal gut.");
            Console.ReadLine();
        }
    }
}
vote_ok
von blackliner (340 Punkte) - 13.04.2020 um 17:08 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;

namespace Ticketverkäufe
{
    class Program
    {
        static void Main()
        {
            List<int> GeglückteBerechnung = new List<int>();
            for (int i = 0; i < 100; i++)
            {
                int anzahlBesucher = Versuch();
                if (anzahlBesucher <= 75) { GeglückteBerechnung.Add(anzahlBesucher); }
            }
            Console.WriteLine("Die Manipulation hat in {0}% der Fälle funktioniert", GeglückteBerechnung.Count);
            Console.ReadLine();
        }
        static int Versuch()
        {
            List<Zuschauer> zuschauerListe = new List<Zuschauer>();
            for (int i = 0; i < 78; i++)
            {
                Zuschauer z = new Zuschauer();
                if (z.Anwesend == true) { zuschauerListe.Add(z); }
            }
            return zuschauerListe.Count;
        }
    }
    class Zuschauer
    {
        public bool Anwesend { get; set; }

        public Zuschauer()
        {
            this.Anwesend = Wahrscheinlichkeit();
        }

        private static bool Wahrscheinlichkeit()
        {
            Random r = new Random();
            int w = r.Next(0, 101);
            if (w >= 95) { return false; }
            else { return true; }
        }
    }
}
vote_ok
von JKooP (18090 Punkte) - 10.11.2020 um 16:49 Uhr
// NET Core 3.x; C# 8.x
Quellcode ausblenden C#-Code
using System;
using static System.Linq.Enumerable;

namespace CS_Aufgabe_297_Ticketkaeufer
{
    class Program
    {
        static void Main()
        {
            var r = Range(0, 100).Select(x => Range(1, 79).Select(x => new Random().Next(1, 101)).Where(x => x <= 95).Count()).Where(x => x <= 75).Count();
            Console.WriteLine($"Die Manipulation ging in {r} von 100 Fällen auf.");
        }
    }
}