BrainFuck SPACE?
Ich habe volgenden Code in BrainFuck geschrieben:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++.--------
+.-
++++++++++++.------------
++++++++++++.------------
+++++++++++++++.---------------
>+++++++++++++++++++++++.-----------------------<
+++++++++++++++++++++++.-----------------------
Es wird aber nur HALLOW Asugegeben statt HALLO W
Wo liegt der Fehler?
3 Antworten
Mal abgesehen davon, dass du es unnötig kompliziert machst:
Space hat den Ascii-Code 32. Da, wo du versuchst, das Space zu erzeugen (zwischen den > und <) sind aber nur 23 Plusse. Es fehlen also noch 9, damit ein Space draus wird.
Warum zählst du eigentlich immer hoch und runter? Du kannst doch einfach immer zum nächsten Buchstaben zählen?
++++++++[>+++++++++>++++<<-]> zwei Felder mit 8*9 (H) und 8*4 erzeugen
. "H" ausgeben
-------. Sieben Buchstaben zurück zählen und "A" ausgeben
+++++++++++.. 11 Buchstaben vor zählen und zweimal ausgeben ("LL")
+++. nochmal drei weiterzählen und ausgeben ("O")
>. in die zweite Zelle springen, wo die 32 drinsteht und ausgeben (" ")
<++++++++. Zurück in die erste Zelle springen und nochmal 8 draufzählen um von "O" nach "W" zu kommen
In kurz: ++++++++[>+++++++++>++++<<-]>.-------.+++++++++++..+++.>.<++++++++.
Warum zählst du eigentlich immer hoch und runter? Du kannst doch einfach immer zum nächsten Buchstaben zählen?
Weil ich es übersichtlicher finde
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++.--------
+.-
++++++++++++.------------
++++++++++++.------------
+++++++++++++++.---------------
>++++++++++++++++++++++++++++++++.-----------------------<
+++++++++++++++++++++++.-----------------------
Du hattest ASCII 23 gesprintet und nicht ASCII 32 (space). Ich habe jetzt 9 + -Zeichen ergänzt und es scheint jetzt zu gehen.
Hier gepostet sieht dein Programm gut aus. Das Leerzeichen wird als dargestellt. Aber passt sonst. Vielleicht auch einer ein Darstellungsfehler?
Das kann nur an meiner Konsole liegen ich habe keine Anung warum. Danke vielmals
Scheinbar war der Fehler, das ich die Ziffern vertauscht habe. Danke nochmals