#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#define N 25
#define M 8
int main(int argc, char* argv[])
{
double** S = new double*[N];
memset((void*)S, 0x00, 4 * N);
for (int t1 = 0; t1 < N; t1++)
{
S[t1] = new double[M];
for (int t2 = 0; t2 < M; t2++)
{
S[t1][t2] = (double)rand() / RAND_MAX;
printf("%4.2f ",S[t1][t2]);
}
printf("\n");
}
printf("\n");
for (int i = 0; i < N; i++)
{
int k = 0; double avg = 0;
while (k < M) avg+=(double)S[i][k++] / M;
if (avg != 0) S[i][M-1] = avg;
}
for (int q = 0; q < M; q++)
{
int n = 0; double avg = 0;
while (n < N) avg+=(double)S[n++][q] / N;
if (avg != 0) S[N-1][q] = avg;
}
for (int z1 = 0; z1 < N; z1++)
{
for (int z2 = 0; z2 < M; z2++)
printf("%4.2f ",S[z1][z2]);
printf("\n");
}
printf("\n");
return 0;
}