C++
#81
Cerinţa
Scrieţi un program care citeşte de la tastatură un număr natural n ( 1 ≤ n ≤ 20 ) şi apoi elementele unui tablou bidimensional cu n linii şi n coloane, care memorează numere naturale.
Programul afişează pe ecran numărul de elemente din tablou care sunt strict mai mari decât toate elementele cu care se învecinează direct (aflate pe aceeaşi linie dar pe o coloană alăturată sau pe aceeaşi coloană dar pe o linie alăturată).
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n*n numere naturale, separate prin spaţii.
Date de ieşire
Programul afișează pe prima linie a ecranului numărul de elemente din tablou care respectă regula.
Restricţii şi precizări
1 ≤ n ≤ 20
elementele tabloului sunt mai mici decât 1000
Exemplu
Intrare
4
1 5 1 1
2 1 2 3
1 3 4 2
2 1 2 1
Ieșire
5
Explicații
Elementele din matrice care respectă regula sunt: 5 2 3 4 2
Răspunsuri la întrebare
Răspuns de
2
#include <iostream>
using namespace std;
int main()
{
int n,A[101][101],s=0;
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>A[i][j];
// Verificam colturile
if(A[1][1]>A[1][2]&&A[1][1]>A[2][1])
s++;
if(A[1][n]>A[1][n-1]&&A[1][n]>A[2][n])
s++;
if(A[n][1]>A[n][2]&&A[n][1]>A[n-1][1])
s++;
if(A[n][n]>A[n][n-1]&&A[n][n]>A[n-1][n])
s++;
// Verificam restul liniei 1
for(int j=2;j<n;j++)
if(A[1][j]>A[1][j-1]&&A[1][j]>A[1][j+1]&&A[1][j]>A[2][j])
s++;
// Verificam restul liniei n
for(int j=2;j<n;j++)
if(A[n][j]>A[n][j-1]&&A[n][j]>A[n][j+1]&&A[n][j]>A[n-1][j])
s++;
// Verificam restul coloanei 1
for(int i=2;i<n;i++)
if(A[i][1]>A[i-1][1]&&A[i][1]>A[i+1][1]&&A[i][1]>A[i][2])
s++;
// Verificam restul coloanei n
for(int i=2;i<n;i++)
if(A[i][n]>A[i-1][n]&&A[i][n]>A[i+1][n]&&A[i][n]>A[i][n-1])
s++;
// Verificam elementele din interiorul matricii
for(int i=2;i<n;i++)
for(int j=2;j<n;j++)
if(A[i][j]>A[i-1][j]&& A[i][j]>A[i+1][j]&& A[i][j]>A[i][j-1]&& A[i][j]>A[i][j+1])
s++;
cout<<s;
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Limba română,
9 ani în urmă