Varför funkar inte detta? Hur kan du överhuvudtaget märka om det funkar eller inte? Variabeln ord[] lever bara i varje block (omgivet av {klamrar}) och där använder du inte variabeln mer än i tilldelningen. Det vettigaste borde vara något sånt här:char-fråga
int slump;
srand(time(0));
slump = rand() % 9;
if (slump == 0) {char ord[]="hund";}
else if (slump == 1) {char ord[]="katt";}
else if (slump == 2) {char ord[]="gris";}
else if (slump == 3) {char ord[]="ko";}
else if (slump == 4) {char ord[]="apa";}
else if (slump == 5) {char ord[]="elefant";}
else if (slump == 6) {char ord[]="giraff";}
else if (slump == 7) {char ord[]="sebra";}
else if (slump == 8) {char ord[]="aligator";}
else if (slump == 9) {char ord[]="orm";}
Sv: char-fråga
Pröva
<code>
int slump;
srand(time(0));
slump = rand() % 9;
if (slump == 0) {char ord[]="hund"; puts(ord); }
else if (slump == 1) {char ord[]="katt"; puts(ord); }
else if (slump == 2) {char ord[]="gris"; puts(ord); }
else if (slump == 3) {char ord[]="ko"; puts(ord); }
else if (slump == 4) {char ord[]="apa"; puts(ord); }
else if (slump == 5) {char ord[]="elefant"; puts(ord); }
else if (slump == 6) {char ord[]="giraff"; puts(ord); }
else if (slump == 7) {char ord[]="sebra"; puts(ord); }
else if (slump == 8) {char ord[]="aligator"; puts(ord); }
else if (slump == 9) {char ord[]="orm"; puts(ord); }
</code>
eller
<code>
int slump;
char *ord;
srand(time(0));
slump = rand() % 9;
if (slump == 0) { ord="hund"; }
else if (slump == 1) { ord="katt"; }
else if (slump == 2) { ord="gris"; }
else if (slump == 3) { ord="ko"; }
else if (slump == 4) { ord="apa"; }
else if (slump == 5) { ord="elefant"; }
else if (slump == 6) { ord="giraff"; }
else if (slump == 7) { ord="sebra"; }
else if (slump == 8) { ord="aligator"; }
else if (slump == 9) { ord="orm"; }
puts(ord);
</code>Sv: char-fråga
char orden[][10]={"hund", "katt", "gris", "ko", "apa", "elefant", "giraff", "sebra", "aligator", "orm"};
int slump;
srand(time(0));
slump = int(double(rand())/RAND_MAX);
char *ordet;
slump = int(10*double(rand())/RAND_MAX);
ordet=orden[slump];
cout << slump << " " << ordet << endl;
(och nu är 'ordet' en pekare in i 'orden'. Du får köra en strcpy eller med string annars)