#include #include #include #include int main() { FILE *vlez = fopen("input.txt", "r"); FILE *izlez = fopen("output.txt", "w"); int n, m; fscanf(vlez, "%d %d", &n, &m); double matrica[n][m]; for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { fscanf(vlez, "%lf", &matrica[i][j]); } } int x1, y1; int x2, y2; scanf("%d%d", &x1, &y1); scanf("%d%d", &x2, &y2); double result[n][m]; for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { result[i][j] = matrica[i][j]; } } for(int i = x1; i <= x2; i++) { for(int j = y1; j <= y2; j++) { double broj_na_sosedi = 0; double sum = 0.0; if(i - 1 >= 0) { broj_na_sosedi += 1.0; sum += matrica[i - 1][j]; if(j - 1 >= 0) { broj_na_sosedi += 1.0; sum += matrica[i - 1][j - 1]; } if(j + 1 < m) { broj_na_sosedi += 1.0; sum += matrica[i - 1][j + 1]; } } if(j - 1 >= 0) { broj_na_sosedi += 1.0; sum += matrica[i][j - 1]; } if(j + 1 < m) { broj_na_sosedi += 1.0; sum += matrica[i][j + 1]; } if(i + 1 < n) { broj_na_sosedi += 1.0; sum += matrica[i + 1][j]; if(j - 1 >= 0) { broj_na_sosedi += 1.0; sum += matrica[i + 1][j - 1]; } if(j + 1 < m) { broj_na_sosedi += 1.0; sum += matrica[i + 1][j + 1]; } } sum += matrica[i][j]; broj_na_sosedi += 1.0; result[i][j] = sum / broj_na_sosedi; } } for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { fprintf(izlez, "%lf ", result[i][j]); } fprintf(izlez, "\n"); } return 0; }