Вы не сбрасываете i
, когда достигнете конца строки.
Вставка:
i = 0;
После строки counter = 0
.
Вам также необходимо включить этот блок:
inputLine[i] = c;
i++;
counter++;
В пределах else
, поскольку это не должно происходить при возврате каретки в конце каждой строки.
Как только вы это сделаете, вы (надеюсь) заметите, что i
и counter
всегда будут содержать одно и то же значение при каждом проходе через цикл, поэтому нет необходимости, чтобы они оба существовали.