Zum Inhalt springen

Ebenfalls Problem mit Zufallszahlen...


MalteAhrens

Empfohlene Beiträge

Hallo,

zunächst zum Programm:

Vielleicht kennt ihr dieses Beispiel ja schon:

---

gmäeß eneir Sutide eneir elgnihcesn Uvinisterät, ist es nchit witihcg in

wlecehr Rneflogheie die Bstachuebn in eneim Wrot snid, das ezniige was wcthiig

ist, ist dsas der estre und der leztte Bstabchue an der ritihcegn Pstoiion snid.

Der Rset knan ein ttoaelr Bsinöldn sien, tedztorm knan man ihn onhe Pemoblre

lseen. Das ist so, wiel wir nciht jeedn Bstachuebn enzelin leesn, snderon das

Wrot als gseatems.

Ehct ksras! Das ghet wicklirh!

---

Der Benutzer soll ein Wort eingeben und ich will die Buchstaben zwischen dem ersten und dem letzten Zeichen vertauschen, so wie es im obigen Beispiel geschehen ist. Allerdings liefert mir der Zufallszahlengenerator immer die gleiche Zahl, obwohl ich ihn immer mit einer neuen Zeit initialisiere... Irgendjemand eine Idee wie ich das realisieren kann?


#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main(void)
{
char wort[100] = { 0 }, hilf[100] = { 0 }, misch[100] = { 0 }; //Initialisierung der Arrays mit Nullen
int i=0,k=0,p=0,marker=0,fak=1,pruef=1,zufall=0,verbraucht[100] = { 0 };

printf("Geben sie ein Worter ein: ");
scanf("%99s",&wort);
printf("Ihre Eingabe: %s\n\n",wort);
do
{
hilf[i]=wort[i+1];
i++;
printf("Ubertrag des %d. Buchstaben des eingegebenen Wortes in das neue Array\n",i+1);
}
while(wort[i]!=0);

printf("\nDas Wort besteht aus %d Buchstaben\n\n",i);

do
{
gen :

srand( (unsigned int)time(NULL) ); // Initialisiert den Random-Generator mit der akt. Zeit in Sek
zufall=rand()%i; /* Pseudo-Zufallszahl zwischen der Gesamtbuchstabenanzahl und 0*/

if(zufall==verbraucht[k])
{
printf("Ungueltige Zufallszahl");
printf("Zufall: %d\n",zufall);
goto gen;
}
else
{
verbraucht[k]=zufall;
k++;
printf("\nDie %d. Zuordnung erfolgreich generiert\n",k);
printf("Zufall: %d\n",zufall);
printf("Verbraucht: %d,\n",verbraucht[1]);
misch[p]=hilf[zufall];
p++;
}
}
while(k!=i-2);

printf("\nKopie des Wortes: %s\n",wort);
printf("Mischmasch: %c%s%c",wort[0],misch,wort[i-1]);
printf("\n---\n");
system("PAUSE");
return 0;
}[/PHP]

Gruß,

Malte

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...