Advertisement
Josif_tepe

Untitled

Jun 3rd, 2021
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.21 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. int main() {
  7.     FILE *vlez = fopen("input.txt", "r");
  8.     FILE *izlez = fopen("output.txt", "w");
  9.     int n, m;
  10.     fscanf(vlez, "%d %d", &n, &m);
  11.    
  12.     double matrica[n][m];
  13.     for(int i = 0; i < n; i++) {
  14.         for(int j = 0; j < m; j++) {
  15.             fscanf(vlez, "%lf", &matrica[i][j]);
  16.         }
  17.     }
  18.    
  19.     int x1, y1;
  20.     int x2, y2;
  21.     scanf("%d%d", &x1, &y1);
  22.     scanf("%d%d", &x2, &y2);
  23.    
  24.     double result[n][m];
  25.     for(int i = 0; i < n; i++) {
  26.         for(int j = 0; j < m; j++) {
  27.             result[i][j] = matrica[i][j];
  28.         }
  29.     }
  30.    
  31.     for(int i = x1; i <= x2; i++) {
  32.         for(int j = y1; j <= y2; j++) {
  33.             double broj_na_sosedi = 0;
  34.             double sum = 0.0;
  35.             if(i - 1 >= 0) {
  36.                 broj_na_sosedi += 1.0;
  37.                 sum += matrica[i - 1][j];
  38.                 if(j - 1 >= 0) {
  39.                     broj_na_sosedi += 1.0;
  40.                     sum += matrica[i - 1][j - 1];
  41.                 }
  42.                 if(j + 1 < m) {
  43.                     broj_na_sosedi += 1.0;
  44.                     sum += matrica[i - 1][j + 1];
  45.                 }
  46.             }
  47.             if(j - 1 >= 0) {
  48.                 broj_na_sosedi += 1.0;
  49.                 sum += matrica[i][j - 1];
  50.             }
  51.             if(j + 1 < m) {
  52.                 broj_na_sosedi += 1.0;
  53.                 sum += matrica[i][j + 1];
  54.             }
  55.             if(i + 1 < n) {
  56.                 broj_na_sosedi += 1.0;
  57.                 sum += matrica[i + 1][j];
  58.                 if(j - 1 >= 0) {
  59.                     broj_na_sosedi += 1.0;
  60.                     sum += matrica[i + 1][j - 1];
  61.                 }
  62.                 if(j + 1 < m) {
  63.                     broj_na_sosedi += 1.0;
  64.                     sum += matrica[i + 1][j + 1];
  65.                 }
  66.             }
  67.             sum += matrica[i][j];
  68.             broj_na_sosedi += 1.0;
  69.             result[i][j] = sum / broj_na_sosedi;
  70.         }
  71.     }
  72.     for(int i = 0; i < n; i++) {
  73.         for(int j = 0; j < m; j++) {
  74.             fprintf(izlez, "%lf ", result[i][j]);
  75.         }
  76.         fprintf(izlez, "\n");
  77.     }
  78.    
  79.     return 0;
  80. }
  81.  
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement