005
22.06.2006, 18:21 Uhr
Fraenky
|
hi! also ohne zu wissen, als was von_vorne als Funktionsparamter übergeben werden sol, habe ich es einfach jetzt mit 0 (null) ausprobiert und kann sagen es klappt leider nicht.. :-/
Die erste Zeit wird noch angezeigt, aber dann kommt nur noch 0 bei zB 10 erzeugten Zufallszahlen.
Zu sagen ist vielleicht noch, dass ich die funktion zufall() in einer Klassse CZufall aufrufe:
C++: |
//Anzhal der Textänge il Instanzen erzeugen.. CZufall *CZahl; CZahl=new CZufall[il]; //Variablen int *iZeit; iZeit= new int[il]; ...
// il Zufallszhalen erzeugen for(i=0; i<il; i++) { CZahl[i].erzeugeZahl(min, max, 0); } //die dazugehörigen Zeiten dazu speichern for(i=0; i<il; i++) { iZeit[i]=CZahl[i].returnZeit(); }
|
die Klassen Funktioen: (ja, eine Klassenfunktion müsste immer was zurückgeben...)
C++: |
void CZufall::erzeugeZahl(int min, int max, int von_vorne) { static int i = 1; bool vv = false;
/* Beim ersten Aufruf den Startwert für srand ziehen und merken, außerdem mittels von_vorne = 1 erzwingen, dass srand () aufgerufen wird */ if (i) { i = 0; zeit = time(NULL); vv = true; }
/* Wenn die von_vorne-Flagge gesetzt ist, wird der anfangs gezogene Startwert neu gesetzt. Dadurch wiederholt sich ab jetzt die Folge der von rand () gelieferten Zahlen. */ if (vv) { srand (zeit); }
zahl = min+rand()%(max-min+1); }
|
und nochma in der Hauptfunktion, die ausgabe:
C++: |
// Zahlen und Zeit zur Kontrolle ausgeben cout << endl; cout << " erzeugte Zahlen & Zeit:"; cout << endl << endl; for(i=0; i<il; i++) { cout << " " << i << ": "; CZahl[i].zeigeZahl(); cout << "\t"; CZahl[i].zeigeZeit(); cout << endl; }
|
Ausgabe des Programmz, bei einem Wort mit zB 10 Buchstaben: ausgabe
hoffe es hilft weiter..und lasste euch nciht so über meinen (nicht) standard der schreibweise aus..;-)
Mfg Fraenky -- Welcome to the real World.
www.fraenkysweb.de Dieser Post wurde am 22.06.2006 um 18:29 Uhr von Fraenky editiert. |