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ă).
Răspunsuri la întrebare
Răspuns de
3
Este destul de simplu, pur si simplu iterezi prin matrice si compari valoarea cu "vecinii sai". In acest exemplu am numit numerele cautate "varfuri":
#import<iostream>
using namespace std;
int n,i,j,A[21][21],nr_varfuri;
int main(){
cin>>n;
for (i=1; i<=n;i++) for (j=1;j<=n;j++) cin>>A[i][j];
for (i=1; i<=n;i++) for (j=1;j<=n;j++){
int c = A[i][j];
if (c > A[i][j-1] && c > A[i][j+1] && c > A[i+1][j] && c > A[i-1][j]){
nr_varfuri = nr_varfuri + 1;
}
}
cout<<nr_varfuri;
return 0;
}
Xcoder:
(Rezolvare in C++)
Alte întrebări interesante
Alte limbi străine,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Informatică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă