Witam wszystkich,
Mam do wykonania następujące zadanie:
Proszę napisać algorytm, który dla tablicy dwuwymiarowej sprawdza czy minimalna wartość elementów tablicy nad główną przekątną jest równa maksymalnej wartości elementów pod główną przekątną. Jeśli warunek jest spełniony to wynikiem jest ta wartość. W przeciwnym wypadku wynikiem jest suma elementów z głównej przekątnej.
Np. dla tablicy o 4 wierszach i 4 kolumnach
1 5 1 1
2 3 3 2
2 2 2 2
4 3 5 2
wynikiem jest wartość 1+3+2+2 ponieważ minimum nad przekątną wynosi 1, a maksimum pod przekątną wynosi 5.
Stworzyłem już do tego zadania diagram:
http://www.filedropper.com/algorytm2
Gdy zacząłem sprawdzać poprawność, pojawiły się pewne wątpliwości. Powiedzmy, że macierz ma wymiary WxK = 3x3. Mówimy o macierzy kwadratowej, żeby była przekątna geometryczna.
-
Ustawiam się na i = 1 i j = 1 (na przekątnej, górna lewa komórka)
-
Pytam czy i <= W - tak
-
j <= K - tak
-
i = j - tak
-
dodaj do suma
-
zwiększ j o jeden
-
j <= K - tak
-
i = j - nie
-
i > j - nie
-
A [i, j] < min - nie
-
Zwiększ j o jeden.
-
j <= K - tak (jestem w trzeciej komórce macierzy)
-
i = j - nie
-
i > j - nie
-
A [i, j] < min - nie
-
Zwiększ j o jeden.
-
j <= K - nie
-
Zwiększ i o jeden.
-
...
I w tym momencie zwiększam i o jeden i zastanawiam się w której tak naprawdę ląduję komórce? i = 2, j =1 czy i = 2, j =3 ?
Bardzo proszę o pomoc.