Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: matrice  (Citit de 1184 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
bliss
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« : Aprilie 17, 2012, 20:05:03 »

Am o matrice patratica N*N. Si vreau sa calculez suma de pe diagonala secundara.

Fac 2 for-uri.

for(i=0;i<n;i++)
 for(j=0;j<n;j++)
   if(j=n+1-i)

Daca se poate sa-mi explice cineva ca nu inteleg j=n+1-i ;

Va multumesc.
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #1 : Aprilie 17, 2012, 20:24:20 »

Poate o intelegi mai bine daca o rescrii sub forma i + j = n + 1. Incearca un exemplu si ai sa vezi ca toate elementele de pe diagonala secundara au suma indicilor n + 1.

Edit: Nu am fost atent la codul tau. Intr-adevar, ce am spus eu e pentru numerotarea de la 1. Daca incepi de la 0 e n - 1.
« Ultima modificare: Aprilie 17, 2012, 20:43:59 de către George Marcus » Memorat
Schumi
Client obisnuit
**

Karma: 36
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #2 : Aprilie 17, 2012, 20:33:37 »

Elementul de pe diagonala secundara de pe prima linie se afla pe coloana n - 1
Elementul de pe diagonala secundara de pe a doua linie se afla pe coloana n - 2
......................
Elementul de pe diagonala secundara de pe ultima linie se afla pe coloana n - n
Acel if verifica ca elementul la care esti sa fie situat pe diagonala secundara.
Deci, daca vrei sa incepi numerotarea liniilor si coloanelor de la 0 e usor de observat ca acel if ar trebui sa fie if(j == n - i - 1).
If-ul pe care l-ai scris tu ar fi bun daca ai incepe numerotarea liniilor si coloanelor de la 1.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines