Zum Inhalt springen

Ebenfalls Problem mit Zufallszahlen...


Empfohlene Beiträge

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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