Programmierung C# Zufallszahlen generieren

4 Antworten

static void Main(string[] args)
{
   int[] feld = new int[4];

   Random zg = new Random();

   for (int i = 0; i < feld.Length; i++)
      feld[i] = zg.Next(1, 10);

   foreach (int i in feld)
      Console.WriteLine(i);

   Console.ReadKey();
}

Das Füllen kannst du so bequem über eine For-Schleife machen, die Ausgabe mit einer Foreach-Schleife und am Ende ein Console.ReadKey(), damit das Fenster nicht sofort geschlossen wird.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012

Wenn Du mit random eine relativ große Zufallszahl bekommst, Du aber nur 10 Werte von 1 bis 10 benötigst, so dividiere die Zufallszahl durch die Anzahl der Werte. Der Divisionsrest + 1 ist dann die gewünschte Zufallszahl.

Anmerkung: Echte Zufallszahlen lassen sich ohne äußeren Einfluss mit einem Computer nicht herstellen. Als äußeren Einfluss kann man einen Tastendruck verwenden, der bei jeder Betätigung den Timer liest und daraus die Zufallszahl erzeugt. Für das Programm ist damit nicht vorhersehbar, wann genau der Tastendruck erfolgt. Für viele Anwendungen reicht eine dem Zufall angenäherte Form aus.

            Ohh sorry hier noch mal der Code;S


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] feld = new int[4];
            int i;
            int Zufallszahl;

            Random zg = new Random();
            feld[i] = zg.Next(1, 10);

            while (i < 4)
            {
                feld[i] = Zufallszahl(1, 10);
                i = i + 1;
            }

            Console.WriteLine(Zufallszahl);

        }
    }
}

Wofür ist die Variable "Zufallszahl"?

So wie ich das sehe müsste die Zeile

feld[i] = Zufallszahl(1, 10);

in folgende geändert werden.

feld[i] = zg.Next(1, 10);

Übrigens wäre eine aussagekräftigere Beschreibung angemessen. "Funktioniert nicht" mag zwar stimmen, hilft aber niemanden den Fehler zu finden. Immerhin weiß niemand, was du programmiert hast, wirklich das ist, was du dir dabei gedacht hast.