Quersumme
-
Hallo Forumsgemeinde,
kann mir denn vielleicht jemand ein beispiel für den Quelltext posten,
wenn ich eine Quersumme aus einer Zahl bilden möchte.danke schonmal im voraus
MfG app
-
while (iZahl > 0) { iQuersumme += iZahl % 10; iZahl /= 10; }
-
cool danke
jetzt wird sogar n schuh draus ^^
Gruß app
-
Hallo Lehrling,
die Suchfunktion mit Suche nach *Quersumme* im gesamten Forum hätte dir zB. das hier: Ganz einfach: Quersumme gebracht! Meistens führt es schon zum Ziel, wenn man selbst nach der Lösung sucht, dann brauchen sich Andere keine Arbeit machen...
MfG
-
BigNeal schrieb:
while (iZahl > 0) { iQuersumme += iZahl % 10; iZahl /= 10; }
Ich finde interressant, dass das geht, welcher schlaue informatiker hat sich das bitte ausgedacht, ich hätte das ganze wohl eher in 10 Zeilen "gelöst".
-
Wieso? Das entspricht doch einfach der mathematischen Definition der Quersumme, d.h. die Summe über alle Ziffern (nur daß man hier immer die letzte Ziffer (iZahl % 10) nimmt und die Zahl danach durch 10 teilt, um die nächste Ziffer zu erhalten etc.).
-
Umständlicher geht immer
-
5cript schrieb:
BigNeal schrieb:
while (iZahl > 0) { iQuersumme += iZahl % 10; iZahl /= 10; }
Ich finde interressant, dass das geht, welcher schlaue informatiker hat sich das bitte ausgedacht, ich hätte das ganze wohl eher in 10 Zeilen "gelöst".
Das geht nicht! Das gibt immer sehr grosse Zahlen aus, nämlich fünfstellige!
Mein Code ist:
#include <iostream>
int main()
{
int iZahl;
int iQuersumme;
std::cin>>iZahl;
while (iZahl > 0) {
iQuersumme += iZahl % 10;
iZahl /= 10;
}
std::cout<<iQuersumme;
return 0;
}
-
Wenn du deine Integer auch nicht initialisierst...
Grab doch bitte nichts aus, wo ich meinen Mist von früher drin stehen hab
-
Der folgende Code geht:
#include <iostream>
int main()
{
int number;
int input;
int crosssum = 0;
//Number must be at least 0
std::cin>>input;
if(input<0)
do
{
std::cin>>input;
}
while (input<0);
number=input;
//Crosssum
do
{
crosssum += number%10;
number /= 10;
}
while (number>0);
std::cout<<"Cross sum of "<<input<<" is: "<<crosssum;
return 0;
}