Zufallsbuchstabe mit rand()?
-
Hallo zusammen!
Habe folgende Buchstaben: o, e, u, i, a.
Aus dieser Buchstabenmenge möchte ich nun einen "Zufallsbuchstaben" bekommen. Wie kann ich das mit Hilfe der Funktionaufrufe rand(), srand() ... anstellen?
Gruß
Michael
-
pack die buchstaben in ein char array, hol dir eine zufallszahl über srand/rand über die größe des arrays und lasse dir über den index den jeweiligen buchstaben ausgeben.
-
Hej,
hier mal bissl Code:#include <time.h> #include <iostream.h> // Der Zeichen-Array char cUmlaute[5] = {'o','e','u','i','a'}; // Variable fuer die Zufallszahl int iZufall = -1; // Zufallszahlen initialisieren srand((unsigned)time(NULL)); // Zufallszahl von 0-4 holen iZufall = rand()%4; // Auf das 'zufaellig' ausgewaehlte Array-Element zugreifen cout << cUmlaute[iZufall];
Hoffe es ist kein Fehler drin,
ByeBye, Viking69
-
Hallo!
Na klar, über den Index eines Arrays, logo!
Besten dank!!!Gruß
Michael
-
-
Nen Verbesserungsvorschlag hätt ich noch zu machen - time.h ist ein C-Header und iostream.h non-standard. Ich würds etwa so machen:
#include <ctime> #include <iostream> using namespace std; //... // Wenn schon explizit casten, dann richtig. Geht aber in diesem Fall auch // einfach mit srand(time(0)); srand(static_cast<unsigned int>(time(static_cast<time_t *>(0)))); cout << "aeiou"[rand() % 5];
-
Hallo,
das ist aber C++. Iostream gehört überhaupt nicht hierher, weder iostream.h noch iostream. Stattdesen nimmt man stdio.h und printf().