Creating 2D Arrays
Output
Input
Problems
Java 2D Arrays are simply arrays or arrays.
Each element is an array itself.
These can be used to store matrices or grids.
class Main {
public static void main(String[] args) {
int [][]arr = new int[3][4];
}
}
To iterate over 2D Arrays, we would be using nested loops.
The outer loop will be used to iterate over the rows and the inner loop will be used to iterate over the columns.
class Main {
public static void main(String[] args) {
int[][] a = {
{2, 5, 1, 7},
{8, -2, 0, 5},
{-9, -1, 3, 2}
};
int rows = 3;
int cols = 4;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int rows = sc.nextInt();
int cols = sc.nextInt();
int[][] a = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
a[i][j] = sc.nextInt();
}
}
}
}
Given two matrices of same size, print their sum.
Sample Input
2 3
1 2 3
4 5 6
10 20 30
40 50 60
Sample Output
11 22 33
44 55 66
Given two matrices of same size, print their sum.
Sample Input
2 3
1 2 3
4 5 6
10 20 30
40 50 60
Sample Output
11 22 33
44 55 66
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int rows = sc.nextInt();
int cols = sc.nextInt();
}
}
Given two matrices of same size, print their sum.
Sample Input
2 3
1 2 3
4 5 6
10 20 30
40 50 60
Sample Output
11 22 33
44 55 66
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int rows = sc.nextInt();
int cols = sc.nextInt();
int[][] a = new int[rows][cols];
int[][] b = new int[rows][cols];
}
}
Given two matrices of same size, print their sum.
Sample Input
2 3
1 2 3
4 5 6
10 20 30
40 50 60
Sample Output
11 22 33
44 55 66
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int rows = sc.nextInt();
int cols = sc.nextInt();
int[][] a = new int[rows][cols];
int[][] b = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
a[i][j] = sc.nextInt();
}
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
b[i][j] = sc.nextInt();
}
}
}
}
Given two matrices of same size, print their sum.
Sample Input
2 3
1 2 3
4 5 6
10 20 30
40 50 60
Sample Output
11 22 33
44 55 66
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int rows = sc.nextInt();
int cols = sc.nextInt();
int[][] a = new int[rows][cols];
int[][] b = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
a[i][j] = sc.nextInt();
}
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
b[i][j] = sc.nextInt();
}
}
int[][] c = new int[rows][cols];
}
}
Given two matrices of same size, print their sum.
Sample Input
2 3
1 2 3
4 5 6
10 20 30
40 50 60
Sample Output
11 22 33
44 55 66
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int rows = sc.nextInt();
int cols = sc.nextInt();
int[][] a = new int[rows][cols];
int[][] b = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
a[i][j] = sc.nextInt();
}
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
b[i][j] = sc.nextInt();
}
}
int[][] c = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
c[i][j] = a[i][j] + b[i][j];
}
}
}
}
Given two matrices of same size, print their sum.
Sample Input
2 3
1 2 3
4 5 6
10 20 30
40 50 60
Sample Output
11 22 33
44 55 66
class Main {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
int rows = sc.nextInt();
int cols = sc.nextInt();
int[][] a = new int[rows][cols];
int[][] b = new int[rows][cols];
matrixRead(a);
matrixRead(b);
int[][] c = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
c[i][j] = a[i][j] + b[i][j];
}
}
}
static void matrixRead(int[][] mat) {
for (int i = 0; i < mat.length; i++) {
for (int j = 0; j < mat.length; j++) {
mat[i][j] = sc.nextInt();
}
}
}
}
Given a matrix, print it column by column.
Sample Input
1 2 3
4 5 6
Sample Output
1 4
2 5
3 6
Given a matrix, print it column by column.
Sample Input
1 2 3
4 5 6
Sample Output
1 4
2 5
3 6
class Main {
public static void main(String[] args) {
int[][] arr = {
{10, 20, 30, 40},
{50, 60, 70, 80},
{90, 100, 110, 120}
};
int rows = arr.length; // 3
int cols = arr[0].length; // 4
for (int j = 0; j < cols; j++) {
for (int i = 0; i < rows; i++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}