
class Practice {
	public static void main(String[] args) {

		char[][] matrix1 = {{'c','a','t'}, {'a','t','e'}, {'t','e','a'}};

		char[][] matrix3 = new char[3][3];

		printMatrix(matrix1);
		printMatrix(matrix3);

		copyMatrix(matrix1, matrix3);

		printMatrix(matrix3);

		int[] arr = {1,2,6,3,2};
		double mean = computeMean(arr);
		System.out.println("mean: " + mean);

		int largest = max(arr);
		System.out.println("largest (6): " + largest);


	}
	
	// Write a method named max that takes an array of integers as
	// an argument and returns the largest value;
	
	public static int max(int[] arr) {
		// assume arr has at least one element
		int largestSeenSoFar = arr[0];

		for(int i = 1; i < arr.length; i++) {
			if( arr[i] > largestSeenSoFar) {
				largestSeenSoFar = arr[i];
			}
		}
		return largestSeenSoFar;
	}

	// write a method named computeMean that takes an array 
	// of integers as an argument and returns the mean of the 
	// elements in the array.

	public static double computeMean(int[] arr) {
		double sum = 0;

		for(int elm : arr) {
			sum += elm;
		}
	
		return (sum / arr.length);
	}
	
	public static void printMatrix(char[][] m) {
		for(char[] arr : m) {
			for(char elm : arr) {
				System.out.print(elm + " ");
			}
			System.out.println();
		}
	}


	public static void copyMatrix(char[][] m1, char[][] m2) {
		// let assume that m1 and m2 have the same dimensions
		for(int i = 0; i < m1.length; i++) {
			char[] arr = m1[i];
			for(int j = 0; j < arr.length; j++) {
				char elm = arr[j];
				m2[i][j] = elm;
			}
		}
	}
}
