Autor Beitrag
Günes
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Sa 17.05.08 23:42 
Hallo!

Habe ein kleines Problem bei meinem Generator, besser gesagt bei den Schleifen!
Habe wiedermal eine Aufgabenstellung von meinem Lehrer bekommen.. und versuchte die jetzt mal zu lösen, komme aber nicht ganz weiter!

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:
            string Anzahl;
            int iAnzahl;
            Anzahl = textBox1.Text;
            int.TryParse(Anzahl, out iAnzahl);


            string stellen;
            int istellen;
            stellen=textBox2.Text;
            int.TryParse(stellen, out istellen);
       
            int izufall = 0;
            int maxvalue = 120;
            string hallo = "";
           
            


            for (int ii = 1; ii <= iAnzahl; ii++)
            {
               
 
 
                for (int ij = 1; ij <= istellen; ij++)
                {

                    if (hallo.Length != istellen)
                    {
                        Random zufall = new Random();
                        izufall = zufall.Next(97, maxvalue);
                        char czeichen = (char)(izufall);
                        Convert.ToString(czeichen);
                        hallo = hallo + czeichen;
                      
                    }
                    else
                    {
                    break;
                    }

                } 
              listBox1.Items.Add(hallo);


Kann mir bitte jemand klarmachen wie ich meine Schleifen so verändern kann,
sodass er mir mehrere Passwörter erstellt, und nicht beim break immer aufhört?
Gäbe es auch eine schönere Variante als die mit dem break?
Hoffe ihr könnt mir helfen!

mfg Günes
Günes Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 18.05.08 00:01 
bin schon auf eine lösung gekommen
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
           for (int ii = 1; ii <= iAnzahl; ii++)
            {
                
                hallo = "";
 
 
                for (int ij = 1; ij <= istellen; ij++)
                {

                    
                    
                        Random zufall = new Random();
                        izufall = zufall.Next(97, maxvalue);
                        char czeichen = (char)(izufall);
                        Convert.ToString(czeichen);
                        hallo = hallo + czeichen;
  
                    }
listBox1.Items.Add(hallo);
                }


gibt nur ein problem.. mit breakpoint habe ich immer verschiedene buchstaben..
ohne breakpoint jedoch zeigt er mir immer die selben an bei den erstellen passwörtern?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 18.05.08 00:22 
Hallo!

Du musst den Zufallsgenerator außerhalb der Schleife nur einmal erstellen. Ansonsten wird er in jedem Durchlauf neu initialisiert und liefert (da zwischen den Initialisierungen praktisch keine Zeit vergeht) immer denselben Wert. Rufe also in der Schleife nur "Next" auf.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Günes Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 18.05.08 00:27 
danke funktioniert jetzt!

habe mich ganze zeit nur gewundert weil immer das selbe kam,
und wenn ich einen breakpoint am anfang der ersten schleife gesetzt habe..
beim durchlauf immer ein andrer buchstabe kam..

werde demnächst weiter posten weil ich das programm erweitern muss
bis dahin..
LG Günes