
import java.util.Scanner;

class Mar19 {
	public static void main(String[] args) {
		
		// Problems from last lab
		int[][] matrix = new int[3][3];
	
		System.out.println("Enter 9 integers");
		Scanner kb = new Scanner(System.in);			

		for(int i = 0; i < matrix.length; i++) {
			for(int j = 0; j < matrix[i].length; j++) {
				matrix[i][j] = kb.nextInt();
			}
		}
		printMatrix(matrix);

		int max = getMax(matrix);
		System.out.printf("Max: %d\n", max);

		double mean = getMeanAverage(matrix);
		System.out.printf("Mean: %.2f\n", mean);

		int sum = sumOfDiagonal(matrix);
		System.out.printf("diagonal sum: %d\n", sum);

		// print first row of matrix
		int[] row = matrix[0];
		for(int i = 0; i < row.length; i++) {
			System.out.printf("%d ", row[i]);
		}
		System.out.println(); 

		// print first column of matrix
		// create auxillary array
		int[] col = new int[matrix.length];

		for(int i = 0; i < matrix.length; i++) {
			col[i] = matrix[i][0];
		}
	
		for(int i = 0; i < matrix.length; i++) {
			System.out.printf("%d ", col[i]);
		}
		System.out.println();


	}

	static void printMatrix(int[][] m) {
		for(int i = 0; i < m.length; i++) {
			for(int j = 0; j < m[i].length; j++) {
				System.out.printf("%d ", m[i][j]);
			}
			System.out.println();
		}
	}

	static int getMax(int[][] m) {
		int max = m[0][0];
		// int max = Integer.MIN_VALUE;

		for(int i = 0; i < m.length; i++) {
			for(int j = 0; j < m[i].length; j++) {
				if(m[i][j] > max) {
					max = m[i][j];
				}
			}
		}
		return max;
	}

	static double getMeanAverage(int[][] m) {
		double sum = 0;
		int count = 0;
		for(int i = 0; i < m.length; i++) {
			for(int j = 0; j < m[i].length; j++) {
				sum += m[i][j];
				count++;
			}
		}
		return (sum / count);
	}

	// compute the sum of the elements on the diagonal
	static int sumOfDiagonal(int[][] m) {
		int sum = 0;

		for(int i = 0; i < m.length; i++) {
			for(int j = 0; j < m[i].length; j++) {
				if (i == j) {
					sum += m[i][j];
				}
			}
		}
		return sum;
	}


}
