👤

Buna ! Am o intrebare . aceasta este cerinta :
Se dă o matrice m cu N linii și N coloane, și două numere i și j reprezentând poziția în matrice a primului element al unei paralele la diagonala principală. Să se afișeze toate elementele de sus în jos de pe acea paralelă la diagonală.

Date de intrare
De pe prima linie se citesc la tastatură numărul N. De pe următoarele N linii se citesc N numere naturale care reprezintă coordonatele matricei. De pe ultima linie se citesc numerele i și j.

Date de ieșire
Programul va afișa pe ecran un șir de numere separate prin spații, reprezentând elementele de pe paralela la diagonală.
Cum ar trebui sa scriu codul ? Niste idei va rog , multumesc !


Răspuns :

Răspuns:

Explicație:

00 01 02 03 04 05

10  11  12   13  14  15

20 21 22 23 24 25

30 31 32 33 34 35

40 41 42 43 44 45

50 51 52 53 54 55

Am scris perechile de indici a elementelor matricei. Dacă se sune că se dă perechia i,j a poziţiei primului element de pe o paralelă la diagonala principală, deci elementul poate fi  pe prima linie (unde i<j) sau pe prima coloană (unde i>j).  Să luăm ca exemplu (i, j) = 2,0. Observăm că elementele pe care trebuie să le afişem sunt 20 31 42 53.

Se observă că ambii indici cresc cu o unitate cât i şi j sunt mai mici ca n, la exemplul nostru n=6  şi indexarea e de la 0.

while (i<n && j<n)

{ cout << a[i++][j++] << " "; }