wszystkie przekątne w tablicy

0

Witam,
wie ktoś może jak poruszać się po pozostałych przekątnych tablicy.
Wiem, że po głównej i przeciwnej do niej poruszamy się tak

 
for(int i=1;i<=N; i++)
       for(int j=1; j<=N; j++)
            if(T[i][i]==T[i+1][i+1] ) cout <<"ok";
            else if(T[i][rozmiar]==T[i+1][rozmiar-1] ) cout <<"OK";

Jak sprawdzić czy kolejne liczby na innych przekątnych są Sobie równe?

3
  1. Zapisz sobie koordynaty wszystkich dwóch przekątnych.
  2. Zauważ zależność.

(0,0) | (0,1) | (0,2)
(1,0) | (1,1) | (1,2)
(2,0) | (2,1) | (2,2)

Interesują Cię

  • (0,0), (1,1), (2,2)
  • (2,0), (1,1), (0,2)
1

Zacznij od tego, że w C++ tablice są indeksowane od 0.
Zamiast zgadywać jak może wyglądać przekątna weź kartkę papieru i sobie to narysuj.
W pseudokodzie dla głównych przekątnych wygląda to tak (przykład z internetu):

browse all rows
  browse all cells
    if i == j (is in main diagonal)
    if i == n - i + 1 (the other diagonal)

Dla pozostałych po prostu jeden indeks zwiększasz na starcie i w zależności od tego który zwiększysz to będzie to przekątna przesunięta w pionie albo w poziomie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1