S.....C
S.....C
#javascript #naukaprogramowanie

Mirki, niechże ktoś mi wytłumaczy bo ja głupiutki jestem. Mam sobie macierz 6x6:

0 -4 -6 0 -7 -6
-1 -2 -6 -8 -3 -1
-8 -4 -2 -8 -8 -6
-3 -1 -2 -5 -7 -4
-3 -5 -3 -6 -6 -6
-3 -6 0 -8 -6 -7

I mam do niej kod:

for (i=0; i<4; i++) {
for (j=0; j<4; j++) {
resTemp = arr[i][j]+arr[i][j+1]+arr[i][j+2]+arr[i+1][j+1]+arr[i+2][j]+arr[i+2][j+1]+arr[i+2][j+2];
if (resTemp>res) {
res=resTemp;
}
}
}

I dlaczego zamiast po bożemu wyniki dodawania - wypluwa mi "0"

Dla macierzy bez wartości ujemnych kod działa wyśmienicie.
1
  • Najlepsze
  • Wszystkie komentarze
akcer
@StrucelRTFSC: Pewnie wartośc początkowa res = 0
1
akcer
To zmień na Number.NEGATIVE_INFINITY
1
K.....9
K.....9
@StrucelRTFSC: w 1szy -23
0
S.....C
S.....C
@KoKo19: nie rozumiem?
0
K.....9
K.....9
@StrucelRTFSC - 4-6-7-6=-23. Zera pominąłem
0
S.....C
S.....C
Ale kod nie zlicza w ten sposób. Tak to byłaby prosta sprawa. Pierwszy powinien być 0 +-4 + -6 + -2 + -8 + -4 +-2

I nie ma problemu z wartościami dodatnimi. Przy ujemnych wynik wychodzi 0;
0
S.....C
S.....C
@akcer: Ano ma. Aaaaa! Już rozumiem :) Takie oczywiste. Dzięki!
0
magic96
magic96
@akcer: dlaczego nie po prostu -Infinity?
0