В коде присутствует адресация за пределами массива (по j).
Если ваша задача - считать последовательности вида 01{1}0 (по БНФ фигурные скобки - это неограниченное кол-во повторений, начиная от 0), то надо именно её и решать. Нужно реализовать нормальный лексический анализ и простенький синтаксический разбор, а не эти страдания. В своё время мне попадался шикарный лексический сканер на регулярных выражениях; его преимущество - в наглядности описаний. Хотя, для вашей задачи это, наверное, будет слишком тяжеловесно.
Опишу алгоритм в общих словах:
- Лексический анализ. Идёте по строке и находите лексемы. В случае, если надо искать 01{1}0 лексемами будут отдельный ноль и последовательность единиц любой длины. Выход алгоритма - последовательность лексем.
- Синтаксический разбор. Идёте по последовательности лексем и обновляете состояние и свои счётчики. Состояния: (1) "вне последовательности", (2) "начало последовательности", (3) "внутри последовательности". Начальное состояние (1). Обрабатываем лексемы по порядку в зависимости от состояния. Ноль в состоянии (1) - перевести в (2). Ноль в состоянии (2) - ничего не менять. Ноль в состоянии (3) - перевести в (1) и обновить счётчик по длине серии. Серия единиц в состоянии (1) - игнорировать. Серия единиц в состоянии (2) - перевести в (3) и сохранить длину серии. Серия единиц в состоянии (3) - игнорировать.
- Вывод результатов.
Всё делается на простейших конечных автоматах.
https://onlinegdb.com/b3op2c8xG