Autor Beitrag
peterhans
Hält's aus hier
Beiträge: 1

Windows Vista Enterprise, Windows XP
C#, Delphi Pers 7
BeitragVerfasst: Mo 08.09.08 00:39 
Hallo zusammen

Ich versuche schon seit einigen Stunden, 6 verschiedene Zahlen auszugeben. Jedoch scheitere ich immer an MSMVS Problemen..

Hier mein Code:
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
using System;
using System.Collections.Generic;
using System.Text;


namespace ConsoleApplication20
{
    class Program
    {
        static void Main(string[] args)
        {
            //int einezahl;
            bool neu;
            int[] arr;
            arr = new int[5];
            Random zahlx = new Random();

            for (int i = 0; i <= 6; i++) // Sechs verschiedene Zahlen suchen 
            {
                do
                {
                    //einezahl = Convert.ToInt32(zahlx.Next(1, 42));
                    arr[i] = Convert.ToInt32(zahlx.Next(142));
                    neu = true// Standartwert 
                    for (int k = 0; k < i; k++) // Array arr durchsuchen 
                    {
                        if (arr[k] == arr[i])
                        {
                            neu = false// bereits im Array vorhanden! 
                        }

                    }
                } while (!neu); // solange bis neu == true, also neue Zahl gefunden 
            }
            for (int m = 1; m <= 6; m++) // Die sechs Zahlen ausgeben! 
            {
                Console.WriteLine(arr[m]);
                Console.WriteLine(' ');
            }
            Console.ReadLine();
        }
    }
}


Könnt ihr mir sagen, was ich falsch gemacht habe? Der Fehler zeigt immer auf die Linie 23!
Dort steht bei mir: arr[i] = Convert.ToInt32(zahlx.Next(1, 42));

Mfg
peter


Moderiert von user profile iconKha: Topic aus C# - Die Sprache verschoben am Mo 08.09.2008 um 12:33
Skiller-1988
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 100

Win XP | Debian | Ubuntu
C# | PHP | VB.NET
BeitragVerfasst: Mo 08.09.08 07:36 
Ganz einfach wie dei Fehlermeldung schon sagt der index ( also der zähler im array) ist außerhalb des Bereiches.
Grund dafür ist das du ganz dein Array mit 5 initalisierst ( arr = new int[5]; ), das heißt i sollte von 0 - 4 laufen, deine Abbruchsbedingung ( int i = 0; i <= 6; i++ ) läßt aber i von 0 - 6 laufen und ab 5 ist halt der index auserhalb des Arrays.

_________________
~ Wer Rechtschreibfehler findet darf sie behalten ~