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

		// Declare a 5x4 2D array.
		int[][] m1 = new int[5][4];

		// Initialize all the values to -1

		for(int i = 0; i < m1.length; i++) {
			int[] row = m1[i];
			for(int j = 0; j < row.length; j++) {
				m1[i][j] = -1;
			}
		}
		
		// Create a method named printMatrix that takes an 2D array
		// of integers as an argument and prints the elements to the screen,
		// with each row on a separate line.

		// print the elements of m1 using printMatrix

		printMatrix(m1);	 


		// Declare a 3x8 2D array of integers named m2

		int[][] m2 = new int[3][8];

		// populate m2 with the values 0-23.

		int value = 0;
		
		for(int i = 0; i < m2.length; i++) {
			int[] row = m2[i];
			for(int j = 0; j < row.length; j++) {
				m2[i][j] = value;
				value++;
			}
		}

		printMatrix(m2);


		// declare a 3x3 3D array of ints named m3

		int[][] m3 = new int[3][3];

		// intialize m3 so that all the elms in row i have the value i.

		for(int i = 0; i < m3.length; i++) {
			int[] row = m3[i];
			for(int j = 0; j < row.length; j++) {
				m3[i][j] = i;
			}
		}

		printMatrix(m3);


		// initialize m3 so that all of the elms in col j have the value j.		

		for(int i = 0; i < m3.length; i++) {
			int[] row = m3[i];
			for(int j = 0; j < row.length; j++) {
				m3[i][j] = j;
			}
		}

		printMatrix(m3);

		// write a method named initMatrix that takes a 2D array of ints
		// as an argument and initializes all the values to 0.		

		// call initMatrix on m3.

		initMatrix(m3);
		printMatrix(m3);	

		// initialize m3 so that it has 1s in the diagonal.
				
		for(int i = 0; i < m3.length; i++) {
			int[] row = m3[i];
			for(int j = 0; j < row.length; j++) {
				if ((i + j == 2) || (i == j)) {
					m3[i][j] = 1;
				}	
			}
		}
		printMatrix(m3);


	}

	static void initMatrix(int[][] m) {
		for(int i = 0; i < m.length; i++) {
			int[] row = m[i];
			for(int j = 0; j < row.length; j++) {
				m[i][j] = 0;
			}
		}
	}

	static void printMatrix(int[][] m) {
		for(int[] row : m) {
			for(int elm : row) {
				System.out.print(elm + " ");
			}
			System.out.println();
		}
	}


}

