Wert +- möglich???
-
Hi,
ich soll ein Programm schreiben, in welchem der Producer in (unregelmäßigen) Abständen Daten sendet.
Gibt es eine Möglichkeit zu sagen. Warte x +- y? Also irgendeine Schleife oder so?Vielen Dank schon einmal, Ozzy
-
Kannst du das nochmal neu formulieren? Geht's dir um Google: c++ sleep oder um was immer du mit dem Titel meinst?
-
Moin,
ja, soetwas in der Art. Also warten ist schon einmal gut, aber ich brauche eben Takte.
Quasi
for (int i=0; i < 5 +- 2; i++) wait();
Also das er mal etwas länger, und mal etwas kürzer wartet. Gibt es so etwas???MfG, Ozzy
-
Musst du dir selber bauen.
while (cond) { time_start = now() do_something() time_elapsed = now() - time_start sleep(cycle_length - time_elapsed) }
Wenn du das nicht meinst, gehe zurück zu Post #2.
-
Moin,
wie ich das sehe, ist die Zeit ja nicht variabel.
Ich probiere das noch mal genauer zu sagen
ich brauche eine Schleife, die eigebtlich bis ca. 5 zählt, mal aber nur bis 3, dafür aber mal bis 7, also quasi 5+-2.
Schwierig, schwierig...MfG, Ozzy
-
zwischen ]3 und 7[:
3 + rand() % 5
-
Sorry, bin gerade nicht so fit im Kopf... Das Beispiel macht genau das, was ich will; aber warum?
rand() % 5
Also eine Zufallszahl modulo 5, ist das richtig?
Kann man nicht auch eine Zufallszahl zwischen -x und x auswählen, und die einfach auf den Wert draufaddieren?MfG, Ozzy
-
Komplizierter geht's immer
enum { minus, plus }; int anfangsWert; int zufallsWert = rand() % 4; int sign = rand() % 2; sign == minus ? anfangsWert -= zufallsWert : anfangsWert += zufallsWert;
-
Bisschen vertippt auf die schnelle sorry. Aber das Prinzip ist klar oder?