Two-dimensional arrays can be thought of as tables with rows and columns that allow the storage of data in a two-dimensional grid structure. Elements are accessed using two indices, such as temps[row][column]. Common operations on 2D arrays include initializing the array, accessing individual elements, finding the length of rows and columns, passing the array as a parameter to methods, and performing operations on the entire array or specific rows and columns. Care must be taken to avoid common errors like accessing elements outside the bounds of the array.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
21 views16 pages
Lecture 11 CSE014
Two-dimensional arrays can be thought of as tables with rows and columns that allow the storage of data in a two-dimensional grid structure. Elements are accessed using two indices, such as temps[row][column]. Common operations on 2D arrays include initializing the array, accessing individual elements, finding the length of rows and columns, passing the array as a parameter to methods, and performing operations on the entire array or specific rows and columns. Care must be taken to avoid common errors like accessing elements outside the bounds of the array.
int[][] triangle = new int[6][2]; System.out.println(triangle[6][0]); } } Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6 at ArrayTest.main(ArrayTest.java:5)
public class ArrayTest {
public static void main(String[] args) {
int[][] triangle = new int[6][]; System.out.println(triangle[0][0]); } }
Exception in thread "main" java.lang.NullPointerException at ArrayTest.main(ArrayTest.java:5)
Two-Dimensional Array parameter questions • Write a method ArrayRowSum that accepts a 2D array of integers and a row number and returns the sum of elements at this row. int[][] a = {{12, 34}, {50, 18}, {30, 26}}; int sum = ArrayRowSum(a, 1); System.out.println(sum); // 68
// Sum the elements at row r in array a.
public static int ArrayRowSum(int[][] a, int r) { int sum = 0; for(int j = 0; j < a[r].length; j++) { sum += a[r][j]; } return sum; } Two-Dimensional Array parameter answers • Write a method ArraySum that accepts a 2D array of integers and returns the sum of all its elements. int[][] a = {{12, 34}, {50, 18}, {30, 26}}; int sum = ArraySum(a); System.out.println(sum); // 170 // Sums the entire contents of array a. public static int ArraySum(int[][] a) { int sum = 0; for(int i = 0; i< a.length; i++) { for(int j = 0; j < a[i].length; j++) { sum += a[i][j]; } return sum; } Matrix Diagonal Exercise Matrix diagonal. Given an n-by-n matrix a, find the diagonal of a and store it in vector b. public static void main(String[] args) { int[][] a = {{1,2,3},{4,5,6},{7,8,9}}; 1 2 3 int[] b = MatrixDiagonal(a); printVector(b); 4 5 6 } 7 8 9 public static int[] MatrixDiagonal(int[][] a) { int n = a.length; int[] b = new int[n]; What about finding the for(int i = 0; i < n; i++) { secondary diagonal? b[i] = a[i][i]; } return b; n-1-i 1 2 3 } 4 5 6 public static void printVector (int[] vec) { 7 8 9 for(int i = 0; i< vec.length; i++) { System.out.print(vec[i] + " "); } System.out.println(); } Sum of Columns Exercise Sum of columns. Given an n-by-n matrix a, return the sum of its columns in an array b.
public static void main(String[] args) {
int[][] a = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int[] b = SumOfCols(a); printVector(b); } //Stores the sum of the columns of matrix a in array b public static int[] SumOfCols(int[][] a) { int n = a[0].length; int[] b = new int[n]; for(int j = 0; j < a[0].length; j++) { b[j] = ArrayColSum(a, j); } return b; }
// Sum the elements at column c of matrix a.
public static int ArrayColSum(int[][] a, int c) { int sum = 0; for(int i = 0; i < a.length; i++) { sum += a[i][c]; return sum; } Matrix Addition Exercise Matrix addition. Given two n-by-n matrices a and b, define c to be the n-by-n matrix where c[i][j] is the sum a[i][j] + b[i][j]. public static void main(String[] args) { int[][] a = {{1,2},{3,4}}; int[][] b = {{1,1},{1,1}}; int[][] c = addMatrix(a,b); print(c); } public static int[][] addMatrix(int[][] a, int[][] b) { int n = a.length; int[][] c = new int[n][n]; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { c[i][j] = a[i][j] + b[i][j]; } } return c; } public static void print (int[][] matrix) { for(int i = 0; i< matrix.length; i++) { for(int j = 0; j < matrix[i].length; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); } }