ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1013
1013
EMPFEHLEN
-
02.09.10 13:02 #1Icarus77 Tutorials.de Gastzugang
Hallo zusammen,
ich lerne zur Zeit das Programmieren mit c und stehe nun vor einem Problem. ich arbeite mit dem Borland Builder 6.
Ich möchte mit dem Befehl random zufällige Fliesskommazahlen in einen Array einlesen. Doch leider bringt er mir immer nur zufällige Zahlen vor dem Komma, also zufällige Ganzzahlen.
Kann mir vielleicht jemand einen Tipp geben, wie ich das Problem lösen kann?
Programm:
#define ANZAHL 10
int main()
{
int i, e;
randomize();
double vektor[ANZAHL];
for (i=0;i<ANZAHL;i++)
{
vektor[i]=0;
}
printf("Wieviele Vektoren sollen eingetragen werden? (max. 10) ");
scanf("%d", &e);
for (i=0;i<e;i++)
{
vektor[i]=random(100);
}
printf("\nVector wurde mit Zufallszahlen gefüllt!\n");
for (i=0;i<ANZAHL;i++)
{
printf("Vektor[%d]: %lf\n", i, vektor[i]);
}
getch();
return 0;
}
-
02.09.10 13:22 #2
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Hi.
Siehe z.B. http://stackoverflow.com/questions/6...c-random-float
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
02.09.10 13:54 #3Icarus77 Tutorials.de Gastzugang
Dann müsste es theoretisch mit folgendem Befehl funktionieren:
for (i=0;i<e;i++)
{
vektor[i]=((random(100)+1)/(random(100)+1));
}
Das Problem ist, das [i] als Ganzzahl deklariert ist. Wenn ich [i] aber als Double deklariere dann funktioniert
die Schleife nicht mehr.
Dann erscheint folgende Fehlermeldung:
[C++ Fehler] Unit1.cpp(21): E2060 Unzulässige Verwendung einer Fließkommazahl
Oder habe ich irgendeinen Denkfehler?
Mach das noch nicht sehr lange..
-
02.09.10 14:32 #4
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Nein. Erstens liefert random eine ganze Zahl (du müßtest also erstmal casten) und außerdem schränkst du den Wertebereich auch extrem ein.
Verwende einfach direkt die Standard-C-Funktionen srand() und rand() wie im Link.
Beachte aber die angesprochene Problematik das diese Random-Funktionen lediglich 15 Bit Randomzahlen generieren und ein double aus 64 Bit besteht.
Die Variable i muß als Ganzzahl definiert werden.
Gruß
PS: Bitte verwende die Code-Tags!If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
zufällige Pause
Von mgraf im Forum Flash PlattformAntworten: 2Letzter Beitrag: 20.04.06, 15:30 -
zufällige ausgabe
Von macropode im Forum PHPAntworten: 2Letzter Beitrag: 13.09.05, 20:49 -
zufällige ID mit PHP erzeugen
Von NetBull im Forum PHPAntworten: 3Letzter Beitrag: 25.04.04, 22:41 -
Zufällige Styles
Von M@DZG@ im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 20.02.04, 14:26 -
zufällige Zeichenkette
Von kesnw im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 09.10.03, 16:39





Zitieren

Login





