文字列 を 文字ずつ読み込み、その都度文字列 を出力していく方針が書きやすいと思います。
以下の想定解のようなwhile文で挟むことで、入力された文字を全て読み切るまで(改行文字を読み込むまで)、プログラムが動き続けます。
,---------- [++++++++++ //Sを1文字ずつ読み込むwhile文 改行文字「文字コード10」が来たら終了 [->+>+<<] //1つ右隣と2つ右隣にポインタの値をコピー >------------------------------------------------ //'0'の文字コードである「48」を引く [->.<] //ポインタの値が0になるまで文字を出力 >[-]<< //ポインタの値を初期化 ,----------]
想定解のコードで使ったテクニックを紹介します。
[-]
:指しているポインタの値を0にする。(ポインタの値が0になるまで値を減らすため)[->+<]
:指しているポインタの値を右隣のポインタへ移行させる。(ポインタの値が0になるまで値を移し続けるため)上記のコードでは、入力した値を二つのポインタにコピーして、
「何回出力したか数えるカウンタ用」「出力する文字コードを保存する用」に分けています。
カウンタ用のポインタは を引くことで、文字を数値として扱うことができるようになります。
文字列 が与えられるので、文字列 を復元するコードを Brainfuck で書いてください。