|

Afișarea Elementelor unei Matrice în Funcție de Diagonala Principală 30


1. Obiectivele lecției:

  • Să înțeleagă conceptul de diagonală principală a unei matrice.
  • Să implementeze algoritmi pentru afișarea elementelor aflate pe, sub sau deasupra diagonalei principale.
  • Să aplice acest concept pentru rezolvarea unor probleme practice.

2. Conținutul lecției:


Ce este diagonala principală a unei matrice?

  • Definiție: Diagonala principală a unei matrice pătratice este formată din elementele situate pe linia iii și coloana iii, unde iii variază de la 0 la n−1n-1n−1 (dimensiunea matricei).
  • Exemplu: Matricea A de dimensiune 4×4
  • A=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]​​
    • Diagonala principală: 1,6,11,16
    • Deasupra diagonalei principale: 2,3,4,7,8,12
    • Sub diagonala principală: 5,9,10,13,14,15

Algoritmul pentru identificarea poziției elementelor

  1. Pe diagonala principală:
    • Elementele se află pe pozițiile i=j.
  2. Deasupra diagonalei principale:
    • Elementele se află pe pozițiile i<j.
  3. Sub diagonala principală:
    • Elementele se află pe pozițiile i>j.

3. Cod în C++


Exemplu 1: Afișarea elementelor pe diagonala principală

#include <iostream>

using namespace std;

void afisareDiagonalaPrincipala(int mat[][4], int dim) {

    cout << „Elementele de pe diagonala principala sunt: „;

    for (int i = 0; i < dim; i++) {

        cout << mat[i][i] << ” „;

    }

    cout << endl;

}

int main() {

    int mat[4][4] = {

        {1, 2, 3, 4},

        {5, 6, 7, 8},

        {9, 10, 11, 12},

        {13, 14, 15, 16}

    };

    afisareDiagonalaPrincipala(mat, 4);

    return 0;

}


Exemplu 2: Afișarea elementelor deasupra și sub diagonala principală

#include <iostream>

using namespace std;

void afisareDeasupraDiagonalei(int mat[][4], int dim) {

    cout << „Elementele de deasupra diagonalei principale sunt: „;

    for (int i = 0; i < dim; i++) {

        for (int j = i + 1; j < dim; j++) {

            cout << mat[i][j] << ” „;

        }

    }

    cout << endl;

}

void afisareSubDiagonala(int mat[][4], int dim) {

    cout << „Elementele de sub diagonala principala sunt: „;

    for (int i = 1; i < dim; i++) {

        for (int j = 0; j < i; j++) {

            cout << mat[i][j] << ” „;

        }

    }

    cout << endl;

}

int main() {

    int mat[4][4] = {

        {1, 2, 3, 4},

        {5, 6, 7, 8},

        {9, 10, 11, 12},

        {13, 14, 15, 16}

    };

    afisareDeasupraDiagonalei(mat, 4);

    afisareSubDiagonala(mat, 4);

    return 0;

}


4. Complexitatea algoritmului

  1. Afișarea elementelor pe diagonala principală:
    • Complexitate temporală: O(n), unde nnn este dimensiunea matricei.
    • Complexitate spațială: O(1), deoarece nu necesită spațiu suplimentar.
  2. Afișarea elementelor deasupra/sub diagonalei:
    • Complexitate temporală: O(n2), deoarece sunt procesate toate elementele relevante.
    • Complexitate spațială: O(1).

5. Activități practice pentru elevi

  1. Realizați un program care calculează suma elementelor de pe diagonala principală.
  2. Scrieți un program care înlocuiește toate elementele de sub diagonala principală cu 0.
  3. Realizați un program care determină diferența dintre suma elementelor de pe diagonala principală și suma elementelor de pe diagonala secundară.

6. Scheme logice

  1. Elemente pe diagonala principală:
    • Start -> Iterează prin matrice -> Selectează mat[i][i] -> Afișează -> Stop.
  2. Elemente deasupra/sub diagonalei principale:
    • Start -> Iterează prin matrice -> Verifică condiția i<j sau i>j Afișează -> Stop.

7. Concluzie:

  • Diagonala principală este un concept esențial în manipularea matricelor, fiind utilizată frecvent în aplicații matematice și programare.
  • Înțelegerea pozițiilor relative față de diagonala principală ajută elevii să manipuleze matrici în mod eficient.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *