1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#include <stdio.h>
char divpp(char x, char y)
{
return (x % y) ? (x / y + 1) : (x / y);
}
float average(int a[10][10], char t, char l, char b, char r)
{
float s = 0.0;
char i, j;
for (i = t; i <= b; i++)
for (j = l; j <= r; j++)
s += (float) a[i][j];
return s / (float) (b - t + 1) / (float) (r - l + 1);
}
int main()
{
FILE *f = fopen("INP.TXT", "r");
char m, n, s, i, i0, j, j0, b = 1;
int a[10][10];
float r = 0;
fscanf(f, "%hhd %hhd %d", &m, &n, &s);
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
fscanf(f, "%d", &a[i][j]);
fclose(f);
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
for (i0 = i; i0 < m; i0++)
for (j0 = j + divpp(s, i0 - i + 1) - 1; j0 < n;
j0++)
if (b || average(a, i, j, i0, j0) > r) {
r = average(a, i, j, i0, j0);
b = 0;
}
f = fopen("OUT.TXT", "w");
fprintf(f, "%f\n", r);
fclose(f);
return 0;
}
|