Eliminarea unei linii și (sau) coloane dintr-o matrice

Lecție despre eliminarea unei linii și (sau) coloane dintr-o matrice.

În această lecție, vom învăța cum să eliminăm o linie și/sau o coloană dintr-o matrice.

Cerința problemei

Se citește o matrice A de dimensiuni n x m, o linie l și o coloană c. Se elimină linia l și coloana c din matrice.

Exemplu de intrare și ieșire:

Intrare:
n = 3, m = 3, A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]], l = 1, c = 1

Ieșire:
Matricea fără linia 1 și coloana 1:
[[1, 3], [7, 9]]


Explicația algoritmului

  1. Citirea matricei: Citim matricea de dimensiuni n x m.
  2. Eliminarea liniei și coloanei: Eliminăm linia și coloana indicată din matrice.
  3. Afișarea rezultatului.

Codul sursă în C++:

#include <iostream>
using namespace std;

int main() {
    int n, m, A[100][100], l, c;

    // Citirea dimensiunilor matricei
    cout << "Introduceti numarul de linii (n): ";
    cin >> n;
    cout << "Introduceti numarul de coloane (m): ";
    cin >> m;

    // Citirea elementelor matricei
    cout << "Introduceti elementele matricei: " << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin >> A[i][j];
        }
    }

    // Citirea liniei și coloanei de eliminat
    cout << "Introduceti coloana de eliminat (0-index): ";
    cin >> c;
    // Afișarea matricei fără linia l și coloana c  
cout << "Matricea fara linia " << l << " si coloana " << c << " este: " << endl;  
for (int i = 0; i < n; i++) {  
    if (i == l) continue; // Sărim peste linia l  
    for (int j = 0; j < m; j++) {  
        if (j == c) continue; // Sărim peste coloana c  
        cout << A[i][j] << " ";  
    }  
    cout << endl;  
}  

return 0;  

---

### Explicație detaliată a codului:

1. **Input**: Se citesc dimensiunile matricei, elementele acesteia, linia `l` și coloana `c` de eliminat.
2. **Logica eliminării**:  
   - **Sărim linia**: Dacă linia curentă este egală cu `l`, aceasta este ignorată în afișare.
   - **Sărim coloana**: Dacă coloana curentă este egală cu `c`, aceasta este omisă.
3. **Output**: Afișăm matricea rezultată fără linia și coloana specificată.

---

Dacă ai întrebări sau vrei alte exemple, nu ezita să întrebi! 😊