কম্পিউটার টিউটোরিয়াল

মাল্টি-ডাইমেনশনাল অ্যারে ব্যবহার করে ম্যাট্রিক্স গুণ করার জাভা প্রোগ্রাম

এই নিবন্ধে আমরা বুঝব কিভাবে মাল্টি-ডাইমেনশনাল অ্যারে ব্যবহার করে দুটি ম্যাট্রিক্স গুণ করা যায়। ম্যাট্রিক্সের এলিমেন্টগুলো সারি ও কলাম আকারে সাজানো থাকে। m সারি এবং n কলাম থাকলে তাকে m × n ম্যাট্রিক্স বলা হয়।

ম্যাট্রিক্সের প্রতিটি এন্ট্রিকে এলিমেন্ট বলা হয় এবং এটি a[i][j] দিয়ে রিপ্রেজেন্ট করা যায়, যা বোঝায় এলিমেন্ট a টি i-তম সারি এবং j-তম কলামে আছে।

ডেমো

ইনপুট:

First matrix: 2 3 4 5 2 3 4 6 9 Second matrix: 1 5 3 5 6 3 8 1 5

আউটপুট:

The product of two matrices is: 49 32 35 39 40 36 106 65 75

এলগরিদম

ধাপ ১ - শুরু
ধাপ ২ - তিনটি ইন্টিজার ম্যাট্রিক্স (input_matrix_1, input_matrix_2, resultant_matrix) ডিক্লেয়ার করুন
ধাপ ৩ - মানগুলো সংজ্ঞায়িত করুন
ধাপ ৪ - ফর-লুপ ব্যবহার করে দুটি ম্যাট্রিক্সের প্রতিটি এলিমেন্ট পরিদর্শন করুন, প্রথম ম্যাট্রিক্সের [i][j] পজিশনের এলিমেন্টকে দ্বিতীয় ম্যাট্রিক্সের প্রতিটি সারি এলিমেন্টের সাথে গুণ করে যোগফল বের করুন, ফলাফল راয়েজাল্ট ম্যাট্রিক্সের [i][j] পজিশনে সংরক্ষণ করুন। প্রথম ম্যাট্রিক্সের প্রতিটি এলিমেন্টের জন্য এটি दुहरান
ধাপ ৫ - ফলাফল প্রদর্শন করুন
ধাপ ৬ - থামুন

উদাহরণ ১: মেইন ফাংশনে সব অপারেশন

public class MultiplyMatrices { 
    public static void main(String[] args) { 
        int matrix_size = 3; 
        int[][] input_matrix_1 = { 
            {2, 3, 4}, 
            {5, 2, 3}, 
            {4, 6, 9} 
        }; 
        System.out.println("The first matrix is defined as: "); 
        for (int i = 0; i < matrix_size; i++) { 
            for (int j = 0; j < matrix_size; j++) { 
                System.out.print(input_matrix_1[i][j] + " "); 
            } 
            System.out.println(); 
        } 
        int[][] input_matrix_2 = { 
            {1, 5, 3}, 
            {5, 6, 3}, 
            {8, 1, 5} 
        }; 
        System.out.println("The second matrix is defined as: "); 
        for (int i = 0; i < matrix_size; i++) { 
            for (int j = 0; j < matrix_size; j++) { 
                System.out.print(input_matrix_2[i][j] + " "); 
            } 
            System.out.println(); 
        } 
        int[][] resultant_matrix = new int[matrix_size][matrix_size]; 
        for(int i = 0; i < matrix_size; i++) { 
            for (int j = 0; j < matrix_size; j++) { 
                for (int k = 0; k < matrix_size; k++) { 
                    resultant_matrix[i][j] += input_matrix_1[i][k] * input_matrix_2[k][j]; 
                } 
            } 
        } 
        System.out.println("\n The product of two matrices is: "); 
        for(int[] row : resultant_matrix) { 
            for (int column : row) { 
                System.out.print(column + " "); 
            } 
            System.out.println(); 
        } 
    } 
}

আউটপুট

The first matrix is defined as: 2 3 4 5 2 3 4 6 9
The second matrix is defined as: 1 5 3 5 6 3 8 1 5
The product of two matrices is: 49 32 35 39 40 36 106 65 75

উদাহরণ ২: অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে ফাংশন ব্যবহার

public class MultiplyMatrices { 
    static int matrix_size = 3; 
    static void multiply(int input_matrix_1[][], int input_matrix_2[][]){ 
        int[][] resultant_matrix = new int[matrix_size][matrix_size]; 
        for(int i = 0; i < matrix_size; i++) { 
            for (int j = 0; j < matrix_size; j++) { 
                for (int k = 0; k < matrix_size; k++) { 
                    resultant_matrix[i][j] += input_matrix_1[i][k] * input_matrix_2[k][j]; 
                } 
            } 
        } 
        System.out.println("\n The product of two matrices is: "); 
        for(int[] row : resultant_matrix) { 
            for (int column : row) { 
                System.out.print(column + " "); 
            } 
            System.out.println(); 
        } 
    } 
    public static void main(String[] args) { 
        int matrix_size = 3; 
        int[][] input_matrix_1 = { 
            {2, 3, 4}, 
            {5, 2, 3}, 
            {4, 6, 9} 
        }; 
        System.out.println("The first matrix is defined as: "); 
        for (int i = 0; i < matrix_size; i++) { 
            for (int j = 0; j < matrix_size; j++) { 
                System.out.print(input_matrix_1[i][j] + " "); 
            } 
            System.out.println(); 
        } 
        int[][] input_matrix_2 = { {1, 5, 3}, 
            {5, 6, 3}, 
            {8, 1, 5} 
        }; 
        System.out.println("The second matrix is defined as: "); 
        for (int i = 0; i < matrix_size; i++) { 
            for (int j = 0; j < matrix_size; j++) { 
                System.out.print(input_matrix_2[i][j] + " "); 
            } 
            System.out.println(); 
        } 
        multiply(input_matrix_1, input_matrix_2); 
    } 
}

আউটপুট

The first matrix is defined as: 2 3 4 5 2 3 4 6 9
The second matrix is defined as: 1 5 3 5 6 3 8 1 5
The product of two matrices is: 49 32 35 39 40 36 106 65 75
  1. জাভায় ০, ১ এবং ২ সম্বলিত অ্যারে সর্ট করা (DNF অ্যালগরিদম)

  2. জেড আকারে ম্যাট্রিক্স প্রিন্ট করার জাভা প্রোগ্রাম

  3. জাভাতে স্প্লিট ফাংশন ব্যবহার করে ম্যাট্রিক্সে স্ট্রিং খোঁজা

  4. জাভা মাল্টি-ডাইমেনশনাল অ্যারে সাপোর্ট করে কি?