До сих пор ваш код просто вычисляет строки * столбцы и сохраняет количество столбцов. Если вы просто хотите прочитать строки * столбцы и все входы отличны от нуля, вы можете просто уменьшить свою первую ячейку для каждого введенного значения
[ cells: rows*columns, columns, 0 (for finding first 0), value, value, value, ... ]
,>,<[>>>+<<<-]>>>[<<[<+>>+<-]>[<+>-]>-]<<< (your code)
[ while rows*columns is not 0
>>> leave an empty cell between column count and matrix (so bf can search for the first zero cell)
[>] go to the first empty cell
, read input
[<]<< go back to rows*colums
- decrement rows*colums
]
если вход также может быть 0, вы должны использовать дополнительную ячейку маркера для каждой ячейки матрицы. Итак, вы видите, если он используется.
[ cells: rows*columns, columns, 0 (for finding first 0), value, marker(1), value, marker(1), value, marker(1) ... ]
,>,<[>>>+<<<-]>>>[<<[<+>>+<-]>[<+>-]>-]<<< (your code)
[ while rows*columns is not 0
>>> leave an empty cell between column count and matrix (so bf can search for the first zero cell)
> go to marker cell
[>>] go to the first empty marker cell
+ set it to 1 so it marks that it is used
< go to its value cell
, read input
<[<<]<< go back to rows*colums
- decrement rows*colums
]