Hier ein Quickhack den ich eben in wenigen Minuten zusammengeschrieben habe.
Das Programm hat aber noch einen Schönheitsfehler da nicht abgeprüft wird, ob eine Zahl bereits gezogen wurde.
1 #include <iostream> // std::cout std::endl
2 #include <vector> // std::vector
3
4 #include <stdlib.h> // rand() srand()
5 #include <time.h> // time()
6
7
8 int
9 getZahl(int max=49)
10 {
11 return static_cast<int>((float)max * rand() / (RAND_MAX+1.0));
12 };
13
14 template<typename T>
15 void
16 BubbleSort(std::vector<T>* vec)
17 {
18 std::vector<T>::iterator lower;
19 std::vector<T>::iterator upper;
20
21 if (vec->begin() == vec->end())
22 return;
23
24 for(upper=vec->end(),--upper; upper>vec->begin(); --upper)
25 for(lower=vec->begin(); lower<upper; ++lower)
26 if (*lower>*upper) std::swap(*lower,*upper);
27
28 return;
29 };
30
31 template<typename T>
32 void
33 VectorAusgeben(std::vector<T>* vec)
34 {
35 std::vector<T>::iterator iter;
36
37 for (iter=vec->begin(); iter!=vec->end(); ++iter)
38 std::cout << *iter << ", ";
39 std::cout << std::endl;
40 };
41
42
43 int
44 main(int argc, char* argv[])
45 {
46 std::vector<int> Lottozahlen;
47
48 // Zufallsgenerator initialisieren;
49 srand( (unsigned int)time(0) );
50
51 for(int i=0; i<6; ++i)
52 {
53 Lottozahlen.push_back( getZahl() );
54 }
55
56 BubbleSort(&Lottozahlen);
57
58 VectorAusgeben(&Lottozahlen);
59
60 return 0;
61 }
Listing 1: main_lotto.cpp
geschrieben von
Descartes
,
25.05.2002, 16:55 Uhr
, 31 mal gelesen