Hallo zusammen: kann mir einer bitte helfen bei meinem Quelltext
-
// das Feld wird mit 0 besetzt for (int index = 0; index < 16; index++)was machst du denn damit bzw. willst machen?
die for schleife hat soweit ich gesehen habe keinen schleifenkörper...du musst mal schauen das du alle "{" und "}" hast... ich bin mir nicht ganz sicher aber ich glaube manchmal fehlt eines der beiden?
ist das ein lauffähiges beispiel? habe gerade keinen compiler zurhand?
-
ja irgendwie läuft es
-
edit: oder lass "{" udn "}" konsequent weg... aber entscheide dich für eines
- schau dir auch mal formatierungsregeln für code an... ist eig in jeder sprache ähnlich... (gibt auch sprachenspezifische eigenheiten aber grundsätzlich: wie man einrückt ... klammern und alles setzt so das man den code besser lesen kann... )
z.B. wiki programmierstil:
http://de.wikipedia.org/wiki/Programmierstileine for-schleife:
entweder so:for(int x=0;x<10;x++) { std::cout << "Hi" << std::endl; }oder so:
for(int x=0;x<10;x++) std::cout << "Hi" << std::coutaber ich kann dir nur zum ersten raten ...
ist meiner meinung nach besser lesbar, da man klar sieht von wo bis wo die schleife geht... wenn du größer projekte später mal umsetzten möchtest wird dir das bei 10000-20000zeilen code sehr helfen...
aber ist letztendlich geschmackssache...das selbe gilt für die einrückung...
etwas anderes kann ich dazu im moment nicht sagen weil hab keine ide oder compiler zurhand und ohne kann ich deinen nicht wirklich nachvollziehen sry...
-
xHelperx schrieb:
ist das ein lauffähiges beispiel? habe gerade keinen compiler zurhand?
Ja, das compiliert tatsächlich. Auch wenn selbst so mancher Profi staunen dürfte, dass man switches und Schleifen miteinander verflechten darf.
die for schleife hat soweit ich gesehen habe keinen schleifenkörper...
Das wiederum ist doch einfach. Es ist die nächste Anweisung. Die ist hier eben bloß ein paar Zeilen tiefer. Passt sogar zu dem, was hier gewünscht ist.
-
hatt ich eben vergessen:
der wiki link ist evt. nicht das beste...(aber ein hinweis wollt ich schnell geben
) must mal googeln oder auf "openbooks"
schaun obs da ne referenz oder programmierstil bücher gibt für c++ oder so...
hab gerade nicht so viel zeit zum googeln sry...lg
-
SeppJ schrieb:
xHelperx schrieb:
ist das ein lauffähiges beispiel? habe gerade keinen compiler zurhand?
Ja, das compiliert tatsächlich. Auch wenn selbst so mancher Profi staunen dürfte, dass man switches und Schleifen miteinander verflechten darf.
die for schleife hat soweit ich gesehen habe keinen schleifenkörper...
Das wiederum ist doch einfach. Es ist die nächste Anweisung. Die ist hier eben bloß ein paar Zeilen tiefer. Passt sogar zu dem, was hier gewünscht ist.
joa deswegen hatte ich mal gefragt, kanns wie gesagt leider nicht compilieren im moment
... erstaunlich...
mhh ... so sicher bin ich mir da nicht...funktioniert soetwas auch:
for(x=0;x<10;x++) std::cout << "Hi" << std::endl;weil hier ist ja die nächste zeile "leer" ... ? so etwas hab ich noch nie gesehen geschweigeden versucht zu compilieren oder auszuführen...
-> ich würde aber mal sagen das das relativ fehleranfällig aussieht und wahrscheinlich auch ist...deswegen treteb auch wahrscheinlich unkontrollierte probleme auf...
dies kann man weitestgehend vermeiden durch einen "sauberen bzw. ordentlichen" programmstil meiner meinung nach...
also rück orderntlich ein... setzt die klammern oder lass sie konsequent weg...! nur entscheide dich für eines... dies erleichtert eine fehlersuche ungemein und hilft auch dabei "unkontrollierte fehler" weitestgehend zuvermeiden/-hinder ...
-
xHelperx schrieb:
funktioniert soetwas auch:
for(x=0;x<10;x++) std::cout << "Hi" << std::endl;weil hier ist ja die nächste zeile "leer" ... ?
Selbstverständlich funktioniert das. Whitespace ist vollkommen egal, außer er wird zur Trennung von Tokens gebraucht.
for ( x = 0;x < 10 ; x ++ ) std :: cout << "Hi" << std :: endl ;Legales C++. (Und das ist noch harmlos, man kann das noch viel weiter treiben)
-
Am schönsten ist immer Quadratische Programmierung.
for(x=0 ;x<012; x++)std ::cout\ <<"Hi"\ ""<<std ::endl;
-
joa das ist schon alles ziemlich hart... aber schaut euch mal das an:
(keine ahnung ob das stimmt oder nen fake ist
)
http://de.wikipedia.org/wiki/Brainfuck++++++++++ [ >+++++++>++++++++++>+++>+<<<<- ] Schleife zur Vorbereitung der Textausgabe >++. Ausgabe von 'H' >+. Ausgabe von 'e' +++++++. 'l' . 'l' +++. 'o' >++. Leerzeichen <<+++++++++++++++. 'W' >. 'o' +++. 'r' ------. 'l' --------. 'd' >+. '!' >. Zeilenvorschub +++. Wagenrücklauf
und das setzt dem ganzen noch die krone auf:
http://de.wikipedia.org/wiki/Ook!
einer der witzigsten wiki-artikel die ich je gelesen hab
...lg
-
edit: "!" gehört zum link...
-

Die Designkriterien der Sprache-Ook! sind:
Eine Programmiersprache sollte schreib- und lesbar für Orang-Utans sein.
Die Syntax sollte einfach sein, leicht zu merken und das Wort Monkey (engl. Affe) vermeiden.
Bananen sind gut.super
...
-
WerWieWas schrieb:
joa das ist schon alles ziemlich hart... aber schaut euch mal das an:
(keine ahnung ob das stimmt oder nen fake ist
)
http://de.wikipedia.org/wiki/BrainfuckKein Fake. Man kann damit tatsächlich Programme bauen.
BF eignet sich naturgemäß sehr gut zur Quadratischen Programmierung, also ist es damit viel leichter als z.B. in C, ganz besonders ästhetische Programme zu bauen.
projecteuler question 2 >>+>++>+[[-]<[->+<<<+>> ]>[-<+>]<[->+<]<[->+<]> >[-<+<+>>]<[->+<]<[->+< ]>>[-<+<+>>]<[->+<]<[-> +<]>>[-<+<+>>]<>++++[-> ++<]>[-<+++++>]<[->++<] >[-<+++++>]<[->++<]>[-< +++++>]<[->++<]>[-<++++ +>]<[->++<]>[-<+++++>]< [->++<]>[-<+++++>]<<[-> >+>+<<<]>>>[-<<<+>>>]<[ ->+<<[->>>]>>-[+<-]<]<] <[-]<[-][-][]<[>+++++++ +++[->>+>+<<<]>>>[-<<<+ >>>]<-<<<[>>>[->+>+<<]> >[-<<+>>]+<[[-]>-<]>[-< +>]<[[-][-]<<+<[->>+>+< <<]>>>[-<<<+>>>]]<-<<<- ]>>[-<<+>>]>[-<<->>]<<- +[->+<]<[->+<]>>[-<<+>> ]<]<[->+++[->++++<]>[-< ++++>]<[-<+>]<.[-][-]<]23*23
-
volkard schrieb:
WerWieWas schrieb:
joa das ist schon alles ziemlich hart... aber schaut euch mal das an:
(keine ahnung ob das stimmt oder nen fake ist
)
http://de.wikipedia.org/wiki/BrainfuckKein Fake. Man kann damit tatsächlich Programme bauen. Eins von mir unter http://www.c-plusplus.net/forum/264697-full
wow, sieht echt gut aus... aber ist mega schwer zu lesen find ich ...

also mit kommentaren geht es vll...
ich habe damit nur etwas rumgespielt, einfach weil ich es i.wie interessant fand...
-> bzw. um was zu lernen
...
-
Wir hatten auch mal nen Contest wo es darum ging den kürzesten Brainfuck Interpreter zu schreiben:
http://www.c-plusplus.net/forum/292057
-
hustbaer schrieb:
Wir hatten auch mal nen Contest wo es darum ging den kürzesten Brainfuck Interpreter zu schreiben:
http://www.c-plusplus.net/forum/292057Müsste man solch einen Brainfuckinterpreter nicht naturgemäß in Brainfuck schreiben?
-
Habs hinbekommen

#include <iostream> using namespace std; void dezi() { int zahl; int potenzzahl = 1, position = 0, ergebnis = 0; int ziffer[16];// das Feld zum Speichern der Ziffern for (int index = 0; index < 16; index++)// das Feld wird mit 0 besetzt ziffer[index] = 0; do { cout << "\n\n\nGeben Sie die Dualzahl ein die umgerechnet werden soll:";// Dualzahl eingeben cin >> zahl; } while (zahl > 1111111111); do {ziffer[position] = zahl % 10; // die letzte Ziffer ablegen position++; //zur nächsten Position gehen zahl = zahl / 10;// durch 10 dividieren um die letzte Ziffer zu löschen } while (zahl!=0); for (int schleife = 0; schleife < 16; schleife++) {ergebnis = ergebnis + ziffer[schleife] * potenzzahl; potenzzahl = potenzzahl * 2;} cout <<"Im Dezimalsystem hat die Zahl folgende Darstellung: "<< ergebnis << endl; } void dual () { int zahl, position=0; int reste[16]; for (int index=0;index<16;index++) reste[index]=0; do { cout << "Geben Sie den Wert ein, der umgerechnet werden soll(max. 65535): "; cin >>zahl; } while (zahl>65535); do {reste[position]=zahl%2; position++; zahl=zahl/2; } while (zahl!=0); for (int index =15;index>=0;index--) { cout<<reste[index]; if (index %4==0) cout<<" "; } } int main() { int eingabe; // das Menü erzeugen cout<< "\t\t\tTreffen Sie Ihre Wahl\n\n"<<endl; cout<< "1. Umrechnen von Dezimahlzahlen in Dualzahlen"<<endl; cout<< "2. Umrechnen von Dualzahlen in Dezimahlzahlen\n"<<endl; cout<< "Ihre Auswahl 1 oder 2 ?"<<endl; cin >>eingabe; if (eingabe==1) dual(); else if (eingabe==2) dezi(); else if (eingabe!=1||2) cout<<" Ihre eingabe ist nicht gueltig."; return 0; }
-
so hinbekommen