ideea e asa: vecini ai pe lungime, latime si diagonale.
este important sa observi 3 lucruri
1. 3 vecini au DOAR elementele din colturi
2. 5 vecini au DOAR elementele de pe prima/ultima linie/coloana, care in plus nu sunt colturi
3. restul au cate 8 vecini.
dupa ce intelegi asta, restul e simplu, vezi doar cum alegi indicii pt sume
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f;
f.open("fisier1.in");
int l, c, A[100][100], suma3=0, suma5=0, suma8=0;
f>>l>>c;
for(int i=0; i<l; i++)
for(int j=0; j<c; j++)
{
f>>A[i][j];
if((i==0 && j==0) || (i==0 && j==c-1) || (i==l-1 && j==0) || (i==l-1 && j==c-1)) suma3=suma3+A[i][j];
else if(i==0 || i==l-1 || j==0 || j==c-1) suma5=suma5+A[i][j];
else suma8=suma8+A[i][j];
}
ofstream o;
o.open("data.out");
o<<suma3<<" "<<suma5<<" "<<suma8;
f.close();
o.close();
return 0;
}