Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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 :)

Geschrieben

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

Geschrieben
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 :rolleyes:
Geschrieben

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

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...