Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » randoom zahlen auf stack

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.10.2005, 17:55 Uhr
Mr Evil



mahlzeit leute

also das will ich machen

ich brauch die zahlen von 1 bis 110 alle durcheinander auf einen stack

es sollen nur diese verwendet werden und dann halt durcheinandern und keine doppelt

mit rand() muss ich noch rumfummeln, bekomme immer die selben reihenfolgen raus {trotz zeit}

ich dacht an nem array, da sind die zahlen alle drinne der reihe nach

dann zugriff per

zahlen[ rdmzahl ]
dann alle zahlen die folgen um eins nach vorne verschieben und die laenge {extra definiert} kuerzen und wieder shuffle

aber ich bekomms nicht wirklich zum laufen, entweder ich bekomm trotsdem viele doppelt, oder einfach n fehler da er dort zugreifen will wo keine zahl mehr ist durch das verschieben

fummel da schon ewig rum, bekomm da nix vernuenftiges hin /=
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.10.2005, 18:24 Uhr
predator



Hallo

Also, ich hab zwar nicht verstanden, wie du das lösen wolltest, aber wenn du einfach die Zahlen 1 bis 110 durcheinander gemischt haben willst, kannst du random_shuffle aus der STL nehmen.

zum Beispiel:

C++:
#include <iostream>
#include <algorithm>
#include <vector>

int main()
{
    std::vector<int> foo;
    int i;
    
    for(i = 0; i<10; i++)
        foo.push_back(i);

    std::cout << "Ohne Zufall:" << std::endl;
    std::cout << "------------" << std::endl;

    for(i = 0; i<10; i++)
        std::cout << foo[i] << std::endl;

    std::cout << "Mit Zufall:" << std::endl;
    std::cout << "-----------" << std::endl;

    std::random_shuffle(foo.begin(), foo.end());

    for(i = 0; i<10; i++)
        std::cout << foo[i] << std::endl;

    return 0;
}


--
Gruß
predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.10.2005, 18:58 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


in dem fall würde ich statt nem int-vektor gleich ein array nehmen, dann spart man sich die interne rumkopiererei beim vergrößern des vektors.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.10.2005, 19:10 Uhr
Mr Evil



hei RIESEN DANK das funzt ja suuuper- und ihc brauch nur noch ein viertel meines quelltextes {=

mit der STL wollte ich mich sowieso schon laenger beschaeftigen, aber cih finde keine gute lektuere darueber /=


C++:
vector<int> zahlen;
int i;

for(i = 0; i<=110; i++)
zahlen.push_back(i);

random_shuffle( zahlen.begin(), zahlen.end() );

for( int k=0; k<=110; k++)
{
    if( zahlen[k] != 0 )
        stapel.push( zahlen[k] );
}


Dieser Post wurde am 22.10.2005 um 19:29 Uhr von Mr Evil editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.10.2005, 10:25 Uhr
Mr Evil



eins muss ich noch eingebaut bekommen, und zwar das die karten nicht immer in der selben reihenfolge gemischt werden

eine bestimmt zahl ist immer als erstes wenn ich das programm starte, erst danach sind die shuffle genug
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.10.2005, 11:20 Uhr
~random
Gast


Ich kann dir zwar bei vector nicht weiterhelfen aber rand kannst du so verwenden für "wirklich" random zahlen:


C++:
srand((unsigned)time(0));
int random = rand();
random = random%111; //für 111 einfach die Basis deines Zahlenbereichs alo bei 0-110 sinds                                 //111 Zahlen

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: