Considerăm o matrice pătratică cu N
linii și N
coloane. În această matrice sunt definite 4
zone:
- zona
1
, formată din elementele situate strict deasupra diagonalei principale și strict deasupra diagonalei secundare; - zona
2
, formată din elementele situate strict deasupra diagonalei principale și strict sub diagonala secundară; - zona
3
, formată din elementele situate strict sub diagonala principală și strict sub diagonala secundară; - zona
4
, formată din elementele situate strict sub diagonala principală și strict deasupra diagonalei secundare;
Cerința
Se dă o matrice pătratică și un număr natural Z
, reprezentând o zonă din matrice. Să se determine suma elementelor din zona Z
.
Date de intrare
Programul citește de la tastatură numerele N Z
, iar apoi N*N
numere naturale, reprezentând elementele matricei.
Date de ieșire
Programul va afișa pe ecran numărul S
, reprezentând suma elementelor din zona Z
a matricei.
Restricții și precizări
1 ≤ N ≤ 200
1 ≤ Z ≤ 4
- elementele matricei vor fi mai mici decât
1000
Exemplu
Intrare
5 2 7 4 8 5 10 7 7 10 2 2 1 2 8 8 4 9 9 5 3 2 3 6 7 1 7
Ieșire
16
Explicație
Elementele din zona 2
sunt 2 8 4 2
, cu suma 16
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Zona4:
#include <iostream>
#include <algorithm>
#include <cassert>
using namespace std;
int n,a[202][202], z;
int main()
{
assert(cin >> n >> z);
for(int i = 1 ; i <= n ; ++i)
for(int j = 1 ; j <= n ; ++j)
assert(cin >> a[i][j]);
int s = 0;
for(int i = 1 ;i<= n ; i ++)
for(int j = 1 ; j <= n ; j ++)
{
if(z == 1 && (i < j && i + j < n + 1))
s += a[i][j];
if(z == 2 && (i < j && i + j > n + 1))
s += a[i][j];
if(z == 3 && (i > j && i + j > n + 1))
s += a[i][j];
if(z == 4 && (i > j && i + j < n + 1))
s += a[i][j];
}
cout << s;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1749 Zona4
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1749 Zona4 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!