Вот что выдает в случае, если поправить как вы сказали:
Что, так и непонятно?
Про geany ничего не знаю, если не получится с ним, попробуйте поработать за компьютер, на бумаге, карандашом.
Входим в циклы.
Первая итерация.
i=0
j=0
пишем в cout " b[0][0]="
ждем ввода от юзера
юзер пишет "1.1"
читаем все до первой нецифры, получилась единица, запихиваем ее в B[0]
проверяем !cin - ошибок нет, поэтому внутрь if не входим.
Следующая итерация внутреннего цикла.
i=0
j=1
пишем в cout " b[0][1]="
ждем ввода от юзера.
В буфере уже есть что-то, написанное юзером, это точка.
пытаемся запихнуть ее в B[1] - не получается.
Проверяем !cin - условие выполнилось, входим внутрь if, пишем номер строки и завершаем цикл по j
После этого стоит еще одна проверка !cin, условие все еще выполняется, поэтому входим в if и выполняем оператор break, прерывающий внешний цикл.
Все, конец работы.