_fux_
0
hi leute,
habe heute mal eine endtestatsaufgabe programmiert (code siehe weiter unten).
dieses teil soll einfach ein 2-dimensionales array mit zufallszahlen füllen für den bereich von 0 - n (n gibt man per eingabe vor)
wenn man denn code genauso kopiert und ausführt, werden immer die gleichen Zahlen ausgeben - jedoch nur, wenn man auswählt "ausführen OHNE debuggen". startet man den prozedurschritt debugger, dann funktioniert das programm.
habe es unter folgenden entwicklungsumgebungen getestet:
Dev-C++ (neuste version) und Visual Studio 2005.
hier der code zum ausprobieren:
lösung des problems:
der code in zeile 28
einfach unter das erste do schreiben, dann klappts auch ohne debugger 
viel spaß...
habe heute mal eine endtestatsaufgabe programmiert (code siehe weiter unten).
dieses teil soll einfach ein 2-dimensionales array mit zufallszahlen füllen für den bereich von 0 - n (n gibt man per eingabe vor)
wenn man denn code genauso kopiert und ausführt, werden immer die gleichen Zahlen ausgeben - jedoch nur, wenn man auswählt "ausführen OHNE debuggen". startet man den prozedurschritt debugger, dann funktioniert das programm.
habe es unter folgenden entwicklungsumgebungen getestet:
Dev-C++ (neuste version) und Visual Studio 2005.
hier der code zum ausprobieren:
Code:
#include <iostream>
#include <time.h>
using namespace std;
int main ()
{
char Abbruch = 'j';
int Zahlenbereich;
int Matrix [3][3];
int i=0;
int j=0;
int zahl;
int msumme=0;
do
{
cout << "Bereich der Zufallszahlen: ";
cin >> Zahlenbereich;
while(i<3)
{
do
{
srand ((unsigned int) time(NULL));
zahl = (rand()%Zahlenbereich) + 1;
Matrix [i][j]=zahl;
j++;
}
while (j<3);
i++;
j=0;
}
i=0;
j=0;
// ausgeben
while(i<3)
{
do
{
cout << Matrix [i][j] << " ";
j++;
}
while (j<3);
i++;
j=0;
cout << endl;
}
}
while (Abbruch!='j');
return 0;
}
lösung des problems:
der code in zeile 28
Code:
srand ((unsigned int) time(NULL));
viel spaß...