Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.
Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.
Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.
Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.
Meniu shortcuturi | ? |
Căutare probleme sau utilizatori | / |
Navigare printre rezultatele căutării | ↑, ↓ |
Meniu de contact și feedback | CTRL + Shift + F |
Ieșire din meniuri | Esc |
Setări editor | CTRL + Shift + S |
Schimbare stil editor | CTRL + Shift + E |
Șabloane de cod | CTRL + Shift + 1/2/3 |
Golire editor | CTRL + Shift + 4 |
În lecția anterioară am învățat cum funcționează matricele și cum se parcurg.
În această lecție vorbim despre matrice pătratice, un tip particular de matrice.
O matrice pătratică este o matrice particulară, cu același număr de linii și de coloane — adică cu n == m
. Pentru simplitate, vom menționa doar n
-ul, deoarece m
-ul are aceeași valoare. Matricea de acest tip are o serie de particularități care se folosesc în anumite probleme.
Diagonala principală a unei matrice este diagonala care începe din colțul stânga-sus și se termină în colțul dreapta-jos. Mai exact, un element a[i][j]
aparține diagonalei principale dacă i == j
.
Similar, diagonala secundară este cealaltă diagonală, care începe din colțul dreapta-sus și se termină în cel stânga-jos. Un element a[i][j]
aparține diagonalei secundare dacă i + j == n + 1
, sau cu alte cuvinte, j == n - i + 1
(unde matricea este indexată de la 1
).
În imaginea de mai jos, diagonala principală este cea roșie, diagonala secundară este cea albastră, elementul 4
(din mijloc) aparținând ambelor diagonale.
Observăm că o matrice pătratică are n
elemente pe diagonala principală și n
elemente pe diagonala secundară. Pentru diagonala principală, elementele sunt: a[1][1], a[2][2], a[3][3], …, a[i][i], …, a[n][n]
. Pentru diagonala secundară, elementele sunt: a[1][n], a[2][n - 1], a[3][n - 2], …, a[i][n - i + 1], …, a[n][1]
.
Așadar, avem următorii algoritmi pentru afișarea elementelor de pe cele două diagonale.
Următorul cod afișează elementele a[i][i]
, aflate pe diagonala principală:
#include <iostream>
using namespace std;
int n, m, a[101][101]; //n = nr linii, m = nr coloane, a = matricea
int main()
{
cin >> n >> m; //Citim numărul de linii și de coloane
//Citim matricea
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
cin >> a[i][j];
}
}
//Afișăm elementele diagonalei principale
for(int i = 1; i <= n; i++) {
cout << a[i][i] << " ";
}
return 0;
}
#include <iostream>
using namespace std;
int n, m, a[101][101]; //n = nr linii, m = nr coloane, a = matricea
int main()
{
cin >> n >> m; //Citim numărul de linii și de coloane
//Citim matricea
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
cin >> a[i][j];
}
}
//Afișăm elementele diagonalei secundare
for(int i = 1; i <= n; i++) {
cout << a[i][n - i + 1] << " ";
}
return 0;
}
# | Problemă | Dificultate | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
276. | Determinare matrice patratica 4 | Ușoară (2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
282. | Parcurgere chenar | Ușoară (2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
277. | Transpusa | Medie (4 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
139. | Suma in matrice patratica | Ușoară (2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
274. | Determinare matrice patratica 2 | Ușoară (2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vrei mai multe probleme? Pe această pagină găsești întreaga listă de probleme propuse. |