As an assignment for school I have to make a Windows Forms Application which throws a "dice" 6000 times and tells me how many times it threw 1, 2, 3, 4, 5 and 6.
This is the code I have right now, but I doesn't work. The error I get is:
System.IndexOutOfRangeException: "Index was outside the bounds of the array."
Random rand = new Random();
int[] randomNumbers = new int[6];
private void btnBereken_Click(object sender, EventArgs e)
{
for (int i = 0; i < 6000; i++)
{
Console.WriteLine("Element " + i + " is " + (randomNumbers[i] = rand.Next(1,7)));
int number = rand.Next(1, 7);
randomNumbers[number - 1]++;
if (randomNumbers[i] == 1)
{
randomNumbers[1] += 1;
}
else if (randomNumbers[i] == 2)
{
randomNumbers[2] += 1;
}
else if (randomNumbers[i] == 3)
{
randomNumbers[3] += 1;
}
else if (randomNumbers[i] == 4)
{
randomNumbers[4] += 1;
}
else if (randomNumbers[i] == 5)
{
randomNumbers[5] += 1;
}
else if (randomNumbers[i] == 6)
{
randomNumbers[6] += 1;
}
}
for (int n = 1; n < 7; n++) {
lblThrow.Text += "Value " + n + " is " + randomNumbers[n].ToString() +" times thrown" + "\n";
}
}