import java.util.Scanner;

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


		Scanner kb = new Scanner(System.in);

		int[] arr0 = {7,2,9,3,1};
		int[] arr1 = new int[5];
		int[] arr2 = new int[5];

	    // 3 ways to declare and initialize a 2D array
		int[][] matrix1 = new int[3][5];
		int[][] matrix2 = {{7,2,9,3,1}, {0,0,0,0,31}, {1,0,1,0,1}};
		int[][] matrix3 = {arr0, arr1, arr2};

		int lenM1 = matrix1.length;
		System.out.println("length of m1: " + lenM1);

		// get first element (array) from matrix2
		int[] firstRow = matrix2[0];
		printArray(firstRow);

		// change second element in firstRow to 0
		firstRow[1] = 0;
		printArray(firstRow);

		// change second element in firstRow to -8
		matrix2[0][1] = -8;
		printArray(firstRow);

		// get value at last column in second row
		int value = matrix2[1][4];
		System.out.println("value: " + value);
	
		// initialize all the elements in matrix0 to 6
		for(int i = 0; i < matrix1.length; i++) {
			for(int j = 0; j < matrix1[i].length; j++) {
				matrix1[i][j] = 6;
			}
		}

		// print all elements in matrix
		for(int i = 0; i < matrix1.length; i++) {
			for(int j = 0; j < matrix1[i].length; j++) {
				System.out.printf("%d ", matrix1[i][j]);
			}
			System.out.println();
		}

		
	}


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