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 |
Am învățat în această lecție cum se declară și cum se parcurg matricele în C++. În această lecție vom învăța cum se citesc și cum se afișează pe ecran matricele pătratice.
Să ne reamintim cum arată o matrice: o matrice cu n
linii și m
coloane are n * m
elemente, dispuse astfel:
Vom lucra cu matrici indexate de la 1
(adică cu elementele de la 1
la n
și de la 1
la m
, nu de la 0
), deoarece sunt mai ușor de abordat.
Elementele matricei se parcurg linie cu linie, de sus în jos (deci de la 1
la n
), iar pentru fiecare linie în parte, vom parcurge elementele acesteia (coloanele) de la 1
la m
. Astfel, utilizăm două structuri repetitive for
pentru a parcurge pe rând elementele matricei — ca mai apoi să le citim sau să le afișăm pe ecran.
Citirea matricei folosește o parcurgere pentru a lua elementele pe rând și a le citi de la tastatură. Iată un exemplu:
cin >> n >> m; //Citim dimensiunile matricei
//Citim matricea, parcurgem cum am învățat anterior
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
cin >> a[i][j];
Afișarea unui tablou este similară, însă după ce afișăm fiecare linie în parte, trebuie să afișăm un endl
pentru a trece la următoarea linie.
//Afișăm matricea, parcurgem cum am învățat anterior
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++)
cout << a[i][j] << " ";
cout << endl;
}
Iată un cod în C++ care citește de la tastatură o matrice și o afișează pe ecran:
#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 matricea
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
cout << a[i][j] << " ";
}
cout << "\n";
}
return 0;
}
# | Problemă | Dificultate | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
633. | Livada | Ușoară (2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
692. | Fibosnek | Grea (8 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
132. | Suma valorilor impare din matrice | Ușoară (2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
149. | Izolare | Ușoară (2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
137. | Permutare in matrice | Ușoară (2 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vrei mai multe probleme? Pe această pagină găsești întreaga listă de probleme propuse. |