Kleines schleifenproblem...
-
Hallo Leute hab ein kleines problemchen...
for (float x=0;x<=200; x += 2) { printf("%f\n",x); Sleep(20); }Folgendes Ziel: Ich möchte eine zahl(x) immer um 2 vergrößern un wenn sie 140 ankommt beginnt sie bei 0 neu zu zählen..
wenn ich nun :
if(x>=140) x -= 140;.. in die schleife hinzufüge kommt natürlich eine endlosschleife
ich habe nun das hier in die schleife mit eingefügt:
if(x>=140) {x_print=x - 140;}else{x_print=x;} printf("%f\n",x_print);... aber ich denke das das ziemlich viel rechenzeit beansprucht.
die prozedur sollte ziemlich schnell gerechnet sein, da ca 1000 zahlen pro sekunde berechnet werden sollten... vielleicht hat ja noch jmd ein tipp wie es noch schneller gerechtnet wird

mfg x_x
-
Wenn ich dich richtig verstehe (und das ist nicht so leicht), beziehst du dich nur auf die ausgegebene Zahl? Dann suchst du:
printf("%f\n",fmod(x,140));P.S.: Ausgabe ist nie schnell. Erst recht nicht mit sleep.
P.P.S: Und float? Ist das wirklich der angemessene Datentyp hier? Das schreit nach int und dann kannst du das wesentlich schnellere % benutzen anstatt fmod.
P.P.P.S.: Und machst du eigentlich C oder C++? Dein Code könnte beides sein.
-
danke funktioniert genauso wies soll :))
PS-> ja sleep sollte bei meinem programm dabei sein
PPS-> ja sollte floattype sein, zumindest als ausgabe ( ich benutz WriteProcessMemory)
PPPS-> öhm weiß nich.. ich hab erst mim programmmiern angefangen. ich denk mal c++.. kann man c und c++ "mixen"?
-
x_x schrieb:
PPPS-> öhm weiß nich.. ich hab erst mim programmmiern angefangen. ich denk mal c++.. kann man c und c++ "mixen"?
Ja.
Jedoch ist das meistens keine gute Idee. Wenn du dir jetzt beispielsweise den Umgang mit printf angewöhnst, dann stehst du bald dumm da. Denn wenn du mit Objekten arbeitest, dann willst du das mit Streams machen. Und dann findest du die Streams seien totaler Mist, weil du bei printf alle Tricks kennst und bei den Streams kommt nur mäßig Formatiertes raus. Und dann fängst du mit umständlichen Tricksereien an, um deine Ausgabe doch mit printf machen zu können.
P.S.: Wenn du nach jeder Zahl 20 ms schläfst, kommst du höchstens auf 50 Zahlen pro Sekunde.
-
Ok danke für die Info
[quote="SeppJ"]
x_x schrieb:
P.S.: Wenn du nach jeder Zahl 20 ms schläfst, kommst du höchstens auf 50 Zahlen pro Sekunde.
Stimmt ich hab das nur zum test benutzt.
1000/hz = ms
1000/ms = hz
1 ms = 1000 zeichen bzw hz