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
- Citirea matricei: Citim matricea de dimensiuni
n x m
. - Eliminarea liniei și coloanei: Eliminăm linia și coloana indicată din matrice.
- 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! 😊