#include <stdlib.h>
#include <stdio.h>
#include <math.h>

#define M 100
#define N 150

float akep[M][N], bkep[M][N];

void median(void)
{
  int i, j, k, l;
  double avg, std;

  for (i = 0; i < M; i++)
    for (j = 0; j < N; j++)
      bkep[i][j] = akep[i][j];  
  for (i = 1; i < (M - 1); i++) {
    for (j = 1; j < (N - 1); j++) {
      avg = std = 0.0;
      for (k = (i - 1); k <= (i + 1); k++)
        for (l = (j - 1); l <= (j + 1); l++)
          avg += akep[k][l];
      avg /= 9.0;
      for (k = (i - 1); k <= (i + 1); k++)
        for (l = (j - 1); l <= (j + 1); l++)
          std += pow(akep[k][l] - avg, 2.0);
      std = 1.5 * sqrt(std / 8.0);
      if (fabs(akep[i][j] - avg) > std) 
        bkep[i][j] = avg;
    }
  }
}