Java Program to Find Smallest Element in Each Column of a Matrix

In the previous article, we have discussed Java Program to Find Largest Element in Each Column of a Matrix

In this article we are going to see how we can write a program to find out the smallest element in each column of the matrix in JAVA language.

Java Program to Find Smallest Element in Each Column of a Matrix

A 3*3 Matrix is having 3 rows and 3 columns where this 3*3 represents the dimension of the matrix. Means there are 3*3 i.e. total 9 elements in a 3*3 Matrix.

Let’s understand it in more simpler way.

                   | A00   A01   A02 |
Matrix A =  | A10   A11   A12 |
                   | A20   A21   A22 | 3*3
  • Matrix A represents a 3*3 matrix.
  • A‘ represents the matrix element
  • Aij‘ represents the matrix element at it’s matrix position/index.
  • i‘ represents the row index
  • j‘ represents the column index
  • Means A00=Aij  where i=0 and j=0A01=aij where i=0 and j=1 and like this.
  • Here we have started row value from 0 and column value from 0.

Let’s see different ways to find Largest Element in Each Column of a Matrix.

Method-1: Java Program to Find Smallest Element in Each Column of a Matrix By Static Initialization of Array Elements

Approach:

  • Initialize and declare two arrays one of size 3×3 with elements and another 1D array of size 3.
  • Use two for loops to iterate the rows and columns .
  • Inside the for loops compare and store the smallest among elements of the col in the 1D array.
  • Print the result.

Program:

public class Matrix
{
    public static void main(String args[])
    {
        // Initializing the 3X3 matrix i.e. 2D array
        int arr[][] = {{19,25,32},{40,54,62},{70,20,60}};
        //Array to hold the smallest element in each column
        int temp[] = new int[3];
        int row, col;

        System.out.print("The matrix elements are:");
        printMatrix(arr);

        //Finding the smallest element in each column
        for(col=0;col<3;col++)
        {
            temp[col]=arr[0][col];
            for(row=1;row<3;row++)
                if(arr[row][col]<temp[col])
                    temp[col] = arr[row][col];
        }

        for(int i = 0; i<3;i++)
            System.out.print("\nSmallest element in "+(i+1)+"th column is "+temp[i]);
    }

    // Method to print the matrix
    static void printMatrix(int arr[][])
    {
        int row, col;
        // Loop to print the elements
        for(row=0;row<3;row++)
        {
            // Used for formatting
            System.out.print("\n");
            for(col=0;col<3;col++)
            {
                System.out.print(arr[row][col]+" ");
            }
        }
        System.out.print("\n");
    }

}


Output:

The matrix elements are:
19 25 32 
40 54 62 
70 20 60

Smallest element in 1th column is 19
Smallest element in 2th column is 20
Smallest element in 3th column is 32

Method-2: Java Program to Find Smallest Element in Each Column of a Matrix By Dynamic Initialization of Array Elements

Approach:

  • Declare two arrays one of size 3×3 and another 1D array of size 3.
  • Ask the user for input of array elements and store them in the one array using two for loops.
  • Use two for loops to iterate the rows and columns .
  • Inside the for loops compare and store the smallest among elements of the column in the 1D array.
  • Print the result.

Program:

import java.util.Scanner;
public class matrix{
    public static void main(String args[])
    {
        //Scanner class to take input
        Scanner scan = new Scanner(System.in);

        // Initializing the 3X3 matrix i.e. 2D array
        int arr[][] = new int[3][3];
        //Array to hold the smallest element in each column
        int temp[] = new int[3];
        int row, col ,n;
        
        // Taking matrix input
        System.out.println("Enter matrix elements : ");
        for(row=0;row<3;row++)
            for(col=0;col<3;col++)
                arr[row][col] = scan.nextInt();

        System.out.print("The matrix elements are : ");
        printMatrix(arr);

        //Finding the smallest element in each column
        for(col=0;col<3;col++)
        {
            temp[col]=arr[0][col];
            for(row=1;row<3;row++)
                if(arr[row][col]<temp[col])
                    temp[col] = arr[row][col];
        }

        for(int i = 0; i<3;i++)
            System.out.print("\nSmallest element in "+(i+1)+"th column is "+temp[i]);
    }

    // Method to print the matrix
    static void printMatrix(int arr[][])
    {
        int row, col;
        // Loop to print the elements
        for(row=0;row<3;row++)
        {
            // Used for formatting
            System.out.print("\n");
            for(col=0;col<3;col++)
            {
                System.out.print(arr[row][col]+" ");
            }
        }
         System.out.print("\n");
    }

}


Output:

Enter matrix elements : 91 72 36 44 29 87 67 56 17
The matrix elements are : 
91 72 36 
44 29 87 
67 56 17

Smallest element in 1th column is 44
Smallest element in 2th column is 29
Smallest element in 3th column is 17

Beginners and experienced programmers can rely on these Best Java Programs Examples and code various basic and complex logics in the Java programming language with ease.

Related Java Programs: