Прогнал вашу реализацию с выводом на каждом шаге - всё работает.
Исходный массив
0 8 0 0 10
8 0 4 0 0
0 4 0 6 16
0 0 6 0 2
10 0 16 2 0
-- Шаг 1 -----
0 8 0 0 10
8 0 4 0 18
0 4 0 6 16
0 0 6 0 2
10 18 16 2 0
-- Шаг 2 -----
0 8 12 0 10
8 0 4 0 18
12 4 0 6 16
0 0 6 0 2
10 18 16 2 0
-- Шаг 3 -----
0 8 12 18 10
8 0 4 10 18
12 4 0 6 16
18 10 6 0 2
10 18 16 2 0
-- Шаг 4 -----
0 8 12 18 10
8 0 4 10 12
12 4 0 6 8
18 10 6 0 2
10 12 8 2 0
-- Шаг 5 -----
0 8 12 12 10
8 0 4 10 12
12 4 0 6 8
12 10 6 0 2
10 12 8 2 0
Так что придётся Вам всё же лезть в дебаг и смотреть, что происходит и что идёт не так именно в вашей системе.