Multidimensional Arrays - Matrix shuffling 80/100
80 от 100
Не успявам да намеря грешката.
https://pastebin.com/Hu5Xrtpt
Получавам безкраен цъкъл. Помощ :)
80 от 100
Не успявам да намеря грешката.
https://pastebin.com/Hu5Xrtpt
Получавам безкраен цъкъл. Помощ :)
Първо не съм сигурен какво правиш на ред 50
и на ред 85
. Според мен така ще излезеш Out of bounds
.
Второ, защо слагаш maxSum = 0;
? Ами ако макс сумата е отрицателна? Така че по-добре maxSum = Integer.MIN_VALUE;
Трето когато принтираш 3x3 матрицата въртиш през всички възможни 3x3 матрици и дори след като принтираш желаната продължаваш да въртиш. Ами ако има още матрици със същата сума? Ти трябва да принтираш само първата с най-голяма сума, при положение че има няколко с една и съща сума. Така че сложи един break;
в края на if (sun == maxSum)
Освен това правиш много ненужни цикли когато принтираш матрицата с макс сума. Защо при намирането ѝ не запишеш нейните startI и startJ в 2 променливи и после направо да принтираш тази матрица? Например така:
for (int i = maxSumI; i < maxSumI + 3; i++) {
for (int j = maxSumJ; j < maxSumJ + 3; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}