zufallszahlen, rand srand
-
erstmal :
int main() { ... return 0; }
dann fehlen nah dem überfliegen ich glaub 3 abschließende geschweifte klammern
und die ;`s die du nach schließenden klammern setzt kannst du auch mal besser weg lassenz.B.
#include <stdlib.h> #include <iostream.h> #include <time.h> int main( void ) { int i,k,c,j,l; int feld [6]; int tausch; srand( (unsigned)time( NULL ) ); for( i = 0; i <6;i++ ) { c=rand (); feld [i]=c%49+1; //Rest Modul wird *49 genommen for(j = 0; j <= i-1;j++) //um Zahlenvergleich durchzuführen { if (feld [i]==feld [j]) { i--; break; } } } for(k = 0; k < 6 ; k++) { for (i=0; i <5; i++) { if (feld [i] > feld [i+1]) { tausch=feld [i+1]; feld[i+1]=feld[i]; feld[i]=tausch; } } } for (int y=0;y<6;y++) { cout<<feld[y]<<endl; } Sleep(2000); return 0; }
-
dankeschön, is natürlich peinlich die klammern zu vergessen
ps. was woltest du mit SLEEP erreichen?
-
@Snoppy9134:
Bzg. Sleep(). Ich denke mal, dass das Programm bevor es sich endgültig beendet 2000 Milli-Sekunden einschläft, oder anders gesagt, dass es ganz am Ende nochmal 2 Sekunden wartet bevor es sich beendet.Caipi
-
dafür nimmt man cin.get(). und bitte, bitte die iostream inkludieren! und nicht die iostream.h! da gibt es wesentliche unterschiede!
-
jaja... ich hab nur fix sleep reingeknallt weil ich ja noch testen musste und kein bock hatte extra cmd auf zu machen und cin.get() fiel mir grad nicht ein
-
Warum nimmt man dafür cin.get()? Macht doch etwas völlig anderes?
(Wobei ich in diesem Falle nichts verwenden würde, da ich die Programme sowieso immer aus der Konsole ausführe :))
Caipi
-
na ja weil cin.get() auf einen tastendruck wartet und sleep() einfach so nach 2 sekunden implizit (quasi) das programm beendet
-
cin.get() wartet auf den druck einer taste bevor es weiter geht und sleep war nur ne fixe lösung damit ich seh ob was ausgegeben wird
-
hallo wollte nur mal kurz wisse
kann ich mit hilfe von rand eine zufällige reihenfolge festlegen?
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;int main (void)
{int n[9];
n[0]=1;
n[1]=1;
n[2]=1;
n[3]=1;
n[4]=1;
n[5]=1;
n[6]=1;
n[7]=1;
n[8]=0;int i,y,x;
srand( (unsigned)time( NULL ) );
do
{for(i=0;i<9;i++)
{x=rand();
y=x%n[i];
cout<<y<<endl;}
}
while(i==8);return(0);
}die null muss immer zuffälig zwischen den 9 stellen (8 einser und eine null) rauskommen, dass prog stürzt aber immer an der 8 stelle ab, ich nehme an der fehler liegt an "y=x%n[i];" kann mir einer n tipp geben?
-
snoopy9134 schrieb:
ich nehme an der fehler liegt an "y=x%n[i];" kann mir einer n tipp geben?
n[8] ist 0 --> y=x%0 --> crash
-
snoopy9134 schrieb:
#include <time.h>
#include <ctime>
-
moin,
da dich hier jeder nur wegen syntaktischen kram anmacht: dein random nimmt die systemzeit als randomseed und da sich diese nicht in der kurzen zeit ändert, ändern sich auch deine zufallszahlen nicht.