Erledigt Danke n stellige Zahl einlesen mit schleife Quersumme bilden
-
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;}
-
Besser die Bedingung so gestalten:
if(qsum % 3 == 0) cout << "Zahl durch drei teilbar" << endl; else cout << "Zahl nicht durch drei teilbar" << endl;
-
markuswenczel schrieb:
Das Ergebnis stimmt nicht irgendwas ist noch falsch bitte um Hilfe???
Magst du das "irgendwas" irgendwie erläutern?
-
Zusätzlich zu bmario (du überprüfst, ob qsum < 3, und nicht, ob qsum durch 3 teilbar ist): Deine Schleife läuft einmal zu oft durch: für i = 0, 1, 2, 3. Macht in diesem Fall aber nix kaputt, wenn die Eingabe dreistellig ist.
-
Besser die Bedingung so gestalten:
if(qsum % 3 == 0) cout << "Zahl durch drei teilbar" << endl; else cout << "Zahl nicht durch drei teilbar" << endl;
qsum % 3 == 0? cout<<"Die Zahl ist durch drei teilbar."<<endl: cout<<"Die Zahl ist kein Vielfaches von drei..."<<endl;
Das ist besser.