2 Stimmen

Warum schlägt mein Hello World-Programm fehl?

Also habe ich dieses Programm von Hand geschrieben in BrainFuck :

+++++++++++++++++[>++++>++++>++++>++++>++>+++++>++++>++++>++++>++++<<<<<<<<<<-]
>++++.>+.>++++++++..>+++++++++++.>--.>++.>+++++++++++.>++++++++++++++.>++++++++.>.

und es zeigt genau das an, was ich wollte:

HELLO WORLD

Aber dann wollte ich, dass es angezeigt wird HELLO WORLD fünfmal hintereinander, also habe ich es in eine Schleife verpackt:

+++++[>
+++++++++++++++++[>++++>++++>++++>++++>++>+++++>++++>++++>++++>++++<<<<<<<<<<-]
>++++.>+.>++++++++..>+++++++++++.>--.>++.>+++++++++++.>++++++++++++++.>++++++++.>.
<<<<<<<<<<<-]

Ich hatte erwartet, dass es diese Ausgabe hat:

HELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLDHELLO WORLD

Aber stattdessen wird dies angezeigt:

HELLO WORLDŠ˜˜ž@®ž¤˜ˆØÏääí`íöäÌ 00<€\<H0hY||‹ ³‹š|T

Was mache ich mit meiner Schleife falsch? Warum zeigt sie nicht an HELLO WORLD fünfmal hintereinander, wie erwartet?

6voto

jmoreno Punkte 13076

Du machst keine Schleife über "HELLO WORLD", sondern über den Code, der es erzeugt...

Sie haben zwei Möglichkeiten: Entweder Sie löschen alles, wenn Sie sich zurückbewegen, indem Sie [-]< verwenden. Das funktioniert mit Ihrem aktuellen Code, weil es die Array-Elemente in ihren ursprünglichen Zustand zurückversetzt, und wenn Sie Ihren Code erneut ausführen, hat er dieselben Werte, d. h:

http://ideone.com/GjAp8

+++++[>
+++++++++++++++++[>++++>++++>++++>++++>++>+++++>++++>++++>++++>++++<<<<<<<<<<-]
>++++.>+.>++++++++..>+++++++++++.>--.>++.>+++++++++++.>++++++++++++++.>++++++++.>.
[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]<[-]
<-]

oder folgendermaßen (drucken Sie das Array nicht aus, wenn Sie es ausfüllen, sondern warten Sie, bis es erstellt ist, und tun Sie es dann)

http://ideone.com/iWs8X

+++++++++++++++++[>++++>++++>++++>++++>++>+++++>++++>++++>++++>++++<<<<<<<<<<-]
>++++>+>++++++++>+++++++++++>-->++>+++++++++++>++++++++++++++>++++++++>
<<<<<<<<<<
 +++++[>.>.>..>.>.>.>.>.>.>.<<<<<<<<<<-]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X