Erledigt Danke n stellige Zahl einlesen mit schleife Quersumme bilden
-
Dobi schrieb:
Den alten C-Stil akzeptiert mein g++ leider nicht.
Ist in C++ auch verboten, aber deine Funktion könnte ja genausogut auch C sein. Könntest du mit extern C einbinden.
-
Was ist der "alte C Stil"?
-
314159265358979 schrieb:
Was ist der "alte C Stil"?
Google: old c style function declaration
Kommt übrigens besonders gut mit Default-int (der gilt nicht nur für den Rückgabetypen, sondern auch für die Parameter), um unlesbare Programme zu schreiben.
-
C(i)??<return i?i%10+C(i/10):i;??>
Geht das noch "besser"?
Edit: Sorry, ist OT und lässt sich auch gar nicht mit einem C++ Compiler kompilieren - dennoch würds mich irgendwie interessieren
-
Statt i würde ich _ als Variablenname verwenden. Und die Funktion könnte man __ nennen. Und vielleicht an "geeigneten" Stellen umbrechen:
__( _)??< return _?_%10+ __(_/10 ):_; ??>
-
lol
-
#include <iostream> using namespace std; int main(void){ cout<<"Dreistellige Zahl eingeben:"<<endl; int h=100,k=0; cin>>h; for(int l=10;l<10000;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; }
Passt perfekt auf'n Titel.
-
SeppJ schrieb:
__( _)??< return _?_%10+ __(_/10 ):_; ??>
#define oO return
-
Haha, sehr schön, SeppJ. Hast du mal beim ioccc mitgemacht?
Edit: Mist, im Topic steht ja was von "mit Schleife". Man könnte aus dem code bestimmt auch ascii art machen, die wie ne Schleife an einem Geschenk aussieht.
-
Statt der häßlichen 10 kann man das aussagekräftige '\n' nehmen.
-
Hahaha! Oh mann!
EDIT: Was hat es mit den beiden Fragezeichen auf sich? Sind das Makros?
-
Oder 0xA - oder wär das zu aufdringlich ?
Hurray!Edit: Mal ganz im Ernst, völlig unabhängig von Portabiblität oder anderen Kriterien: Welchen Vorteil hat 10 gegenüber '\n'?
-
EOutOfResources schrieb:
EDIT: Was hat es mit den beiden Fragezeichen auf sich? Sind das Makros?
Sowas ähnliches - hast du schonmal etwas von "Trigraphen" gehört?
-
CStoll schrieb:
Sowas ähnliches - hast du schonmal etwas von "Trigraphen" gehört?
Bisher nicht. Danke.
-
Hey, es sind sozusagen Makros, aber total unnötige, da alle "Sonderzeichen", die Sie repräsentieren schon längst auf allen Tastaturen vorzufinden sind.
Schau mal hier.
http://de.wikipedia.org/wiki/Trigraph#Programmiersprache_CEdit:
??> <=> }
??< <=> {
-
Man soll uns ja nicht vorwerfen, wir würden auf den OP nicht eingehen:
http://i53.tinypic.com/2hx96yd.jpg
-
Dobi schrieb:
Hast du es mit dem
printf
etwas zu wörtlich genommen?
-
"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.