Ich starre jetzt schon seit Stunden da drauf, aber egal wie ich es umstelle, das Ergebnis ist immer gleich, will heissen immer falsch
Das Ganze sollte nach meiner Rechenkunst in Zwischensumme, auf ganze Zahlen gerundet in 1% Schritten alle Werte von startwert bis endwert ausgeben und theoretisch sogar dann funktionieren, wenn startwert > endwert ist
Macht er aber nicht, er schneidet mir rigoros alle Nachkommastellen ab, sprich aus differenz = 199 macht er das gleiche wie aus differenz = 100, und bei differenz < 100 gibt er mir 99 mal die gleiche Zahl aus
Mit Sicherheit bin ich einfach zu blind, aber ich sehe es nicht
Kann mir jemand den Denkfehler aufzeigen?
Code:
int startwert = 123;
int endwert = 345; // nur als Beispiel, die Werte kommen aus User input
int differenz = endwert - startwert;
double schrittweite = differenz / 100;
for (int i = 1; i < 100; i++)
{
int zuaddieren = int((schrittweite * i) + 0.5);
int Zwischensumme = startwert + zuaddieren;
}
Das Ganze sollte nach meiner Rechenkunst in Zwischensumme, auf ganze Zahlen gerundet in 1% Schritten alle Werte von startwert bis endwert ausgeben und theoretisch sogar dann funktionieren, wenn startwert > endwert ist
Macht er aber nicht, er schneidet mir rigoros alle Nachkommastellen ab, sprich aus differenz = 199 macht er das gleiche wie aus differenz = 100, und bei differenz < 100 gibt er mir 99 mal die gleiche Zahl aus
Mit Sicherheit bin ich einfach zu blind, aber ich sehe es nicht
Kann mir jemand den Denkfehler aufzeigen?