Hallo Leute, ich versuche z.Zt. ein altes C-Konsolenprogramm in C# mit graphischer Obefläche neu zu schreiben. Mein Problem sind die Befehle srand, rand und RAND_MAX dabei in C# umzusetzen. Das .Net 2.0 Framework bietet hierfür Random an. Irgendwie generiert C# mir immer andere Werte und das alte C-Programm immer die gleichen! Ich weiß leider nicht mehr weiter, vielleicht kann mir jemand helfen. C-Code:
1 | double d[10] = {0}; |
2 | |
3 | for (int i = 0; i <= 9; i++) |
4 | {
|
5 | srand(i); |
6 | |
7 | d[i] = (double)rand() / (double)RAND_MAX; |
8 | }
|
C#-Code:
1 | int RAND_MAX = 32767; //RAND_MAX gibt es nicht in C# |
2 | |
3 | double[] d = new double[10]; |
4 | |
5 | Random rnd = new Random(); |
6 | |
7 | for (int i = 0; i <= 9; i++) |
8 | {
|
9 | d[i]= (double)rnd.Next(i, RAND_MAX) / (double)(RAND_MAX); |
10 | }
|
MfG Dimä