Matrici patratice

Simetrii

  • Fata de diagonala principala  
    • for(i=1;i<=n&&ok;i++)
      for(j=1;j<=n;j++)
      if(a[i][j]!=a[j][i])ok=0;

 

  • Fata de diagonala secundara
    • for(i=1;i<=n-1&&ok;i++)
      for(j=1;j<=n-i;j++)
      if(a[i][j]!=a[n+1-j][n+1-i])ok=0;

 

  • Fata de axa Ox
    • for(i=1;i<=n/2&&ok;i++)
      for(j=1;j<=n;j++)
      if(a[i][j]!=a[n+1-i][j])ok=0;

 

  • Fata de axa Ox
    • for(i=1;i<=n&&ok;i++)
      for(j=1;j<=n/2;j++)
      if(a[i][j]!=a[i][n+1-j])ok=0;

 

 

Matrice patratica

Diagonala secundara

diag sec.PNG

  • Pe diagonala:

Forma: a[i][j]  cu  i+j=n+1  ( i=1,n ; j=1,n )    => j=n+1-i

  • Deasupra diagonalei:

 

Forma:  a[i][j]  cu  i+j<n+1  ( i=1,n ; j=1,n )   => j<n+1-i

Eficient: a[i][j]  cu  ( i=1,n-1 ; j=1,n-i )

  • Sub diagonala secundara:

 

Forma: a[i][j]  cu  i+j>n+1   ( i=1,n ; j=1,n )   => j>n+1-i

Eficient: a[i][j]  cu  ( i+2,n ; j=n+2-i,n )

Matrice patratica

Diagonala principala

diag princ.PNG

  • Pe diagonala:

Forma: a[i][j]  cu  i=j  ( i=1,n  ;  j=1,n )

Eficient: a[i][i]  cu ( i=1,n )

  • Deasupra diagonalei principale:

 

Forma: a[i][j]  cu  i<j  ( i=1,n  ;  j=1,n )

Eficient: a[i][j]  cu  ( i=1,n-1  ;  j=i+1,n )

  • Sub diagonala principala:

 

Forma: a[i][j]  cu  i>j  ( i=1,n  ;  j=1,n )

Eficient: a[i][j]  cu   ( i=2,n  ;  j=1,i-1 )