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 )

Matrici

Matricile reprezinta tablouri bidimensionale.

Fie A matrice cu 3 linii si 4 coloane. Atunci:

  • A[1] = linia 1;
  • A[2] = linia 2;
  • A[3] = linia 3;
  • A[1][2] = elementul de pe linia 1 coloana 2;
  • A[2][3] = elementul de pe linia 2 coloana 3;
  • A[4][2] = elementul de pe linia 4 coloana 2;

Asadar,

  • A = intreaga matrice;
  • A[i] = vector = linia i;
  • A[i][j] = elementul de pe linia i coloana j;

Declarare

tip variabila [dim1][dim2];

exemple:

  • int a[4][5] – matrice cu 4 linii si 5 coloane, elemente intregi, liniile numerotate de la 0 la 3 si coloanele de la 0 la 4;
  • float b[10][20] – matrice cu 10 linii numerotate de la 0 la 9, 20 de coloane numerotate de la 0 la 19 si elemente de tip real;

Declarare + initializare

  • int a[3] [2] = { {1,2}, {3,4}, {5,6} };