Summe von Gerade und Ungerade Zifferen in Nummer?
-
Hallo an alle. Ich möchte die Summe von den geraden und ungeraden Ziffern eine Nummer bilden. Ich meine auch fertig zu sein aber gibt mir einen fehler bei reminder1 an:
#include <iostream> using namespace std; int main() { // Werte int number, sum = 0, reminder, sum1 = 0; int reminder1; cout << "Enter your number: " << endl; cin >> number; // um von einer Zahl alle Ziffern zu bekommen while (number > 0) { reminder = number % 10; number = number / 10; // Gerade? Mit if if (reminder % 2 == 0) { sum = sum + reminder; } // Ungerade? Mit if else if (reminder1 % 2 != 0) { sum1 = sum1 + reminder1; } else cout << "Error"; } cout << "Sum of even digits is: " << sum << endl; cout << "sum of odd digits is: " << sum1; return 0; }
-
Es scheint ich habs gelöst und ich fühle mich gerade dumm es nicht für ne Stunde gemerkt zu haben: hier:
#include <iostream> using namespace std; int main() { // Werte int number, sum = 0, reminder, sum1 = 0; int reminder1; cout << "Enter your number: " << endl; cin >> number; // um von einer Zahl alle Ziffern zu bekommen while (number > 0) { reminder = number % 10; reminder1 = number % 10; number = number / 10; // Gerade? Mit if if (reminder % 2 == 0) { sum = sum + reminder; } // Ungerade? Mit if else if (reminder1 % 2 != 0) { sum1 = sum1 + reminder1; } else cout << "Error"; } cout << "Sum of even digits is: " << sum << endl; cout << "sum of odd digits is: " << sum1; return 0; }
-
@PeterKat reminder1 brauchst du nicht, da es denselben Wert wie reminder enthält.
Und wann soll der Fehlerfall eintreten?
Die Zahl ist gerade oder nicht (dann ist sie ungerade).Aber das wird nicht gebraucht, wenn man den „kleinen Gauss“ benutzt: https://de.wikipedia.org/wiki/Gaußsche_Summenformel?wprov=sfti1
-
@PeterKat sagte in Summe von Gerade und Ungerade Zifferen in Nummer?:
while (number > 0) { reminder = number % 10; number = number / 10; // Gerade? Mit if if (reminder % 2 == 0) sum = sum + reminder; else // nicht gerade, also wohl ungerade, was sonst? sum1 = sum1 + reminder; }
-
Die Variable(n) sollte(n)
remainder
heißen und nichtreminder
, remind = erinnern, remain = übrig bleiben.