Erledigt Danke n stellige Zahl einlesen mit schleife Quersumme bilden
-
"n stellige Zahl einlesen mit schleife Quersumme bilden"
Ja hab ich doch, mein gott!
Edit: für n stellige Zahl allerdings:
#include <iostream> using namespace std; int main(void){ int h,k=0;/// k ist "die" Quersumme. cout<<"Zahl eingeben:"<<endl; cin>>h; for(int l=10;l<h*100;l*=10) k+=(h%l-k)/(l/10); k%3==0? cout<<"Die Zahl ist durch drei teilbar."<<endl: cout<<"Die Zahl ist kein Vielfaches von drei..."<<endl; return 0; }
perfekto
-
Vielleicht war Deine nicht hübsch genug.
int qs(int i) { while(int tmp=i/10) if(i--==10*tmp) return qs(tmp); else return 1+qs(i); return i; }
Also formal ist es schon irgendwie eine Schleife.
-
Hacker schrieb:
"n stellige Zahl einlesen mit schleife Quersumme bilden"
Ja hab ich doch, mein gott!
Du schon. cooky451 auch. Der Code jedoch, den wir anderen hier gemeinsam immer weiter verschönert hatten, genügte dieser Anforderung bis eben noch nicht.
-
Dobi schrieb:
"n stellige Zahl einlesen mit schleife Quersumme bilden"
Irgendwie bezwiele ich, daß der OP da über eine Möbius-Schleie geredet hat
-
Dann war die Spezifikation wohl nicht präzise genug. Ausserdem:
http://www.projectcartoon.com/cartoon/2
-
volkard schrieb:
Vielleicht war Deine nicht hübsch genug.
int qs(int i) { while(int tmp=i/10) if(i--==10*tmp) return qs(tmp); else return 1+qs(i); return i; }
War
if(i--==10*tmp)
das hier ein Tippfehler ?
i--==
oder ein postfix - Dekrement ?
-
Hacker schrieb:
oder ein postfix - Dekrement ?
postfix-Dekrement als Vorbereitung für qs(i), um nicht qs(i-1) schreiben zu müssen. Also Unfug, um zwischen dem Code und dessen Zweck eine möglichst große Entfernung zu bringen.
-
Man sollte also schreiben:
#define lol return __( _) ??< lol _?_% '\n' + __(_/ '\n' ):_; ??>
Danke @SeppJ, volkard & CStoll, dass ihr diesen Spaß mitgemacht habt .
-
'\n' ist '??/n'
und
+ ist - -#define lol return __( _) ??< lol _?_% '??/n' - - __(_/ '??/n' ):_; ??>
-
Vielleicht sollte man noch
#define ^ (
schreiben.
-
yahendrik schrieb:
Danke @SeppJ, volkard & CStoll, dass ihr diesen Spaß mitgemacht habt .
Ich weiß gar nicht, wie ich dieses Kompliment verdient habe.
-
Gibt's ne möglichkeit das auf Ideone.com zu kompilieren?
-
Alle guten Programme sind irgendwie rechteckig.
#define lol return __(_)??< lol _?_% '\n' - - __ ( _ / '??/012' ): _; %>
-
CStoll schrieb:
Ich weiß gar nicht, wie ich dieses Kompliment verdient habe.
Du hättest die Diskussion als Moderator unterbinden können, hast du aber nicht, weil du ein GuterTM bist.
-
volkard, dein Code ist so "gut", dass man ihn jedesmal posten sollte, wenn ein TE wieder nach einer Lösung des Problems ohne Eigenleistung seinerseits bittet.
nice one!
Edit: wobei#define lol return int __(int _)??< lol _?_% '\n' - - __ ( _ / '??/012' ): _; ??>
auch noch C++ konform ist.
-
C++ hat keine Trigraphen mehr.
-
EOutOfResources schrieb:
C++ hat keine Trigraphen mehr.
Sagt wer?
-
Wie kommst du drauf, dass es keine Trigraphen mehr gibt?
Siehe N3242 - 2.4Bei VS2010 ist die Unterstützung standardmässig deaktiviert - mit der Compileroption /Zc:trigraphs aktivierst du sie wieder.
-
Ach, ich schloss aus der Tatsache, dass man beim GCC ein Flag setzten muss, dass es bei C++ nicht mehr standardisiert sei.
-
Michael E. schrieb:
markuswenczel schrieb:
Idee?
Hab ich. Du auch? du hast schon alles genannt, was du benötigst. Versuchs mal.
Das Ergebnis stimmt nicht irgendwas ist noch falsch bitte um Hilfe???
/*Aufgabe 2.2
Schreiben Sie ein Programm, das eine dreistellige Zahl einliest
und mit Hilfe der Ziffernsumme überprüft, ob die eingegebene Zahl durch 3 teilbar ist.
*/#include <iostream>
using namespace std;int main()
{
int zahl, qsum;
qsum=0;
cout<<"Bite Zahl eingeben";
cin>>zahl;for(int i=0;i<=3;i++)
{
qsum+=zahl%10;
zahl/=10;
}if(qsum/3!=0)
{
cout<<"Zahl durch drei teilbar"<<endl;
}
else
cout<<"Zahl nicht durch drei teilbar"<<endl;}