next[i][j] = getNodeWithIndex(j)
. Выведите path перед алгоритмом. Код слишком запутан, где-то хранится MyMapNode, где-то индекс, и туда-сюда идут переходы. Попробуйте next сделать int - это сильно упростит код.next[i][j] = j
. А в алгоритме при перезаписывании пути из i в j через k: next[i][j] = next[i][k]
i = next[i][j]
. next[i][j]
всегда будет указывать на следующую вершину в пути из i в j. int find_first_zero_row(int **matrix, int cols, int rows) {
.....
return -1;
}
int all_items_are_zero(int *items, int length) {
....
}