//Patriche Robert Cosmin
#include <iostream>
#include <climits>
using namespace std;

void massimoMedieColonneMediaMassimiRighe(int matrice[3][3], int righe, int colonne) {
    double maxMediaColonne = -INT_MAX;
    int sommaMassimiRighe = 0;

    for (int j = 0; j < colonne; j++) {
        double sommaColonna = 0;
        for (int i = 0; i < righe; i++) {
            sommaColonna += matrice[i][j];
        }
        double mediaColonna = sommaColonna / righe;
        if (mediaColonna > maxMediaColonne) {
            maxMediaColonne = mediaColonna;
        }
    }

    for (int i = 0; i < righe; i++) {
        int maxRiga = matrice[i][0];
        for (int j = 1; j < colonne; j++) {
            if (matrice[i][j] > maxRiga) {
                maxRiga = matrice[i][j];
            }
        }
        sommaMassimiRighe += maxRiga;
    }

    double mediaMassimiRighe = static_cast<double>(sommaMassimiRighe) / righe;
    cout << "Massimo delle medie sulle colonne: " << maxMediaColonne << endl;
    cout << "Media dei massimi sulle righe: " << mediaMassimiRighe << endl;
}

int main() {
    int matrice[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    massimoMedieColonneMediaMassimiRighe(matrice, 3, 3);
    return 0;
}
