Hilfe bei Zufallszahl [sry]
-
So hab ichs bereits versucht.Aber es kommen unlogisch hohe bzw negative Zahlen raus.
Rein theoretisch muss ein Zahl zwischen -1,5 und 1,5 rauskommen.
rand()/RAND_MAX gibt eine Zahl kleiner als 1 aus (höchstens 1)*3 -> höchstens 3 -> -1,5 höchstens 1,5 oder hab ich einen Denkfehler?
-
Also bei mir geht das einwandfrei.
Denke dein cast ist nicht an der richtigen Stelle.
Kurt
-
hm, in wie fern? Ich hab deine Zeile zuvor identisch benutzt
-
Mein code:
include <iostream> int main() { for ( int i = 0; i < 10; ++i ) { double x=((double)rand()/RAND_MAX)*3.0-1.5; std::cout << x << std::endl; } return 0; }Output:
kurt@power:~$ ./a.out 1.02056 -0.316851 0.849298 0.89532 1.23494 -0.907346 -0.494332 0.804689 -0.666676 0.16191Kurt
Edit: So wär das Ergebnis immer -1.5
double x=((double)(rand()/RAND_MAX))*3.0-1.5;
-
Ich peils nicht,habs genauso.warum macht ers bei mir nicht...
-
Kanns sein dass dein code in einer function steht w ein parameter ist und du die zahlen ausserhalb der funktion ausgibst ?
Kurt
-
ja so ists,ich muss mit den Zahlen noch weiterrechnen in ner andren function.aber wenn ich testes halber die ausgerechneten Zahlen schon in dieser funktion ausgebe,kommt müll.
w ist bei mir eine structurvariable
-
Verstehe ich dich richtig innerhalb der funktion wo die zahlen erzeugt werden wird müll angezeigt ? Kann nicht sein. Wenns ausserhalb Müll ist solltest du eine Referenz übergeben.
Kurt
-
richtig,innerhalb der funktion.Das ist ja das komische.
-
Hallo
Testest du nachdem du Werte zugewiesen hast oder davor?
chrische
-
Jetzt kommen wir ohne code nicht mehr weiter.
K
-
nachdem
-
so danke für die hilfe jungs,auch wenns noch nicht geklappt hat

meine lady ist da,muss nun weg.bis denn dann
-
Hallo
ZuK schrieb:
Jetzt kommen wir ohne code nicht mehr weiter.
KDas kann ich nur befürworten. Leider ist er ja jetzt weg. Mich hätte schon mal interessiert, wo denn der Fehler lag.
chrische
-
Wenn du die Werte des Parameters nach außen zurückgeben willst, mußt du ihn als Referenz deklarieren ("int myfunc(mystruct**&** w)"), sonst arbeitest du auf einer Kopie des gegebenen Structs und die wird am Ende der Funktion gelöscht.