私のアプリは、double 配列を取り、偶数列の要素の平均を見つけ、最大値を見つけ、平均を最大 / 2 と比較し、平均 > 最大 / 2 の場合は行列を 90 度回転させることになっています。
コードは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int M = 4, N = 4;
int ** rotateArr(int arr[4][4]) {
    int D[4][4];
    int i, n;
    for(i=0; i <= 4; i++ ){
        for(n =0; n <= 4; n++){
            D[i][n] = arr[n][M - i + 1];
        }
    }
    return D;
}
int getAvg(int arr[4][4]) {
    int sum = 0, num = 0;
    int i, n;
    for(i=0; i <= 4; i += 2){
        for(n=0; n <= 4; n++){
            sum += arr[i][n];
            num += 1;
        }
    }
    return sum/num;
}
int ** getMax(int arr[4][4]) {
    int maxa = arr[0][0];
    int i, n;
    for(i=0; i <= 4; i++){
        for(n=0;  n <= 4; n++){
            if (maxa < arr[i][n]){
                maxa = arr[i][n];
            }
        }
    }
    return maxa;
}
int main()
{
    int S[4][4] = { { 1, 4, 10, 3 }, { 0, 6, 3, 8 }, { 7, 10 ,8, 5 },  { 9, 5, 11, 2}  };
    int maxa = 0;
    float avg = 0;
    avg = getAvg(S);
    maxa = getMax(S);
    int i , n;
    if (avg > maxa/2){
        S[4][4] = rotateArr(S);
        for(i=0; i <= 4; i+=2){
            for(n=0 ; n <= 4; n++){
                    printf("%d", S[i][n]);
            }
            printf("\n");
        }
    }
    getch();
    return 0;
}
アプリは何も出力せず、キーを押すだけで終了します
プロセスはステータス 0 (0 分 2 秒) で終了しました