11. januar 2004 - 16:29
Der er
8 kommentarer og 1 løsning
Tal i tilfældig rækkefølge..
Jeg kan ikke lige gennemskue hvordan jeg udskriver tallen mellem fx 0 og 20 i tilfældig rækkefølge. Både C og C++ er velkommen da det mest er princippet jeg leder lidt efter..
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
11. januar 2004 - 16:39
#1
I c++ kunne du gøre sådan: #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vect; for(int i=0;i<20;i++) { vect.push_back(i); } random_shuffle(vect.begin(), vect.end()); for(vector<int>::const_iterator iter = vect.begin();iter != vect.end();iter++) { cout << *iter << " "; } return 0; }
11. januar 2004 - 16:47
#2
Du kan også bruge funktionen rand() Eks: #include <iostream> #include <cstdlib> #include <algorithm> using namespace std; int main() { srand(time(NULL)); int tal=rand()%21; cout<<"tilfaeldigt tal mellem 1 og 20: "<<tal<<endl; system("pause"); return 0; }
11. januar 2004 - 22:07
#4
Soreno: Din virker meget godt, men gider du ikke forklare hvorfor du bruger vectors.. Kan man ikke bare lave det med nogle helt almindelige int variabler eller sådan noget..? :)
12. januar 2004 - 00:20
#6
Soreno's løsning med et array: #include <iostream> #include <stdio.h> using namespace std; static const int NumNumber = 20; int main() { int Ar[NumNumber]; int i, j, t, n; for(i = 0; i < NumNumber; i++) { Ar[i] = i; } for(i = 0; i < 100; i++) for(j = 0; j < NumNumber; j++) { n = rand()%20; t = Ar[j]; Ar[j] = Ar[n]; Ar[n] = t; } for(i = 0; i < NumNumber; i++) cout << Ar[i] << " "; cout << endl; return 0; }