sid1900 Geschrieben 29. September 2003 Geschrieben 29. September 2003 Hallo, ich hätt da mal ein Problem, Zufallszahlen erzeugen ist ja noch ganz einfach aber Zufallsbuchstaben (eine ungeordnete Aneinanderreihung des Alphabets) z.B: nicht: abcd.. sondern: axtm.. halt rein zufällig. Ich steh auf dem Schlauch, vielleicht könnt ihr mir ja weiter helfen. Danke Zitieren
Schledo Geschrieben 29. September 2003 Geschrieben 29. September 2003 Hmmm, spontan fällt mir da folgende Lösung ein: Füll ein Array mit den Buchstaben des Alphabetes, also array = Buchstabe und greife dann über den Index mit einer zufallsgenerierten Zahl auf das Array zu und schwupps kannst Du eine zufällige Aneinenaderreihung von Buchstaben des gewünschten Alphabetes erzeugen Möglicherweise gibt es sinnvollere Lösungen, aber diese ist einfach und sollte funktionieren Zitieren
sid1900 Geschrieben 29. September 2003 Autor Geschrieben 29. September 2003 Wie soll das aussehen? array=a,b,c.. oder arry[0]=a; array[1}=b; array[2]=c; .. ich arbeite noch nicht so lange mit C deshalb die Frage. Zitieren
nic_power Geschrieben 29. September 2003 Geschrieben 29. September 2003 Hallo, oder nimm Deine Zufallszahl modulo 26, addiere das Ergebnis zu 65 (Großbuchstaben) bzw. 97 (Kleinbuchstaben) und interpretiere dies als ASCII-Wert: int main (int argc, char **argv) { int i; for(i=0; i!=100; i++) { printf("%c ", rand()%26+65); } } [/php] Nic Zitieren
Schledo Geschrieben 29. September 2003 Geschrieben 29. September 2003 Original geschrieben von sid1900 Wie soll das aussehen? array=a,b,c.. oder arry[0]=a; array[1}=b; array[2]=c; .. ich arbeite noch nicht so lange mit C deshalb die Frage. So wie das Zweite, aber die Lösung von nic_power ist professioneller Zitieren
sid1900 Geschrieben 29. September 2003 Autor Geschrieben 29. September 2003 Die Idee klingt gut aber.. die ersten Buchstaben sind immer PH.. ich hätt da auch gern mal was anderes stehen. Zitieren
nic_power Geschrieben 29. September 2003 Geschrieben 29. September 2003 Hallo, das liegt daran, dass rand() Pseudozufallszahlen erzeugt, die bei gleichem seed identisch sind. Du kannst allerdings den seed des Generators mit srand(seed) setzen. Um unterschiedliche Zahlen bei jedem Aufruf zu erhalten, empfiehlt sich folgendes Konstrukt vor der Verwendung von rand() aufzurufen (1x, ausserhalb der Schleife): srand(time()); Nic Zitieren
sid1900 Geschrieben 29. September 2003 Autor Geschrieben 29. September 2003 Hi Nic, so klappts dann auch mit dem nachbarn: C #include <stdio.h> #include <stdlib.h> #include <time.h> int main (int argc, char **argv) { int i; srand((unsigned)time(NULL)); for(i=0; i!=2; i++) { printf("%c", rand()%26+65); } } Vielen Dank Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.