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

জাভায় ম্যাট্রিক্স ৯০ ডিগ্রি বামদিকে ঘুরানো


ধরি একটি N×N বর্গাকার ম্যাট্রিক্স দেওয়া আছে। এই ম্যাট্রিক্সটিকে কাউন্টারক্লকওয়াইজ (বামদিকে) ৯০ ডিগ্রি ঘুরাতে হবে।

ইনপুট: N = 3, matrix[][] = {{1,2,3}, {4,5,6}, {7,8,9}}

আউটপুট: 3 6 9 2 5 8 1 4 7

ব্যাখ্যা: ম্যাট্রিক্সটিকে বামদিকে ৯০ ডিগ্রি ঘুরালে উপরের আউটপুট পাওয়া যায়।

সমাধানের পদ্ধতি

প্রথমে ম্যাট্রিক্সটির ট্রান্সপোজ (transpose) বের করা হয়, তারপর প্রতিটি সারি (row) এর এলিমেন্টগুলো রিভার্স করা হয়।

  • বর্গাকার ম্যাট্রিক্স ইনপুট নিন।
  • ম্যাট্রিক্সটির ট্রান্সপোজ বের করুন (সারি এবং কলাম বিনিময় করুন)।
  • প্রতিটি সারির প্রথম এবং শেষ এলিমেন্ট সোয়াপ করে সারিটি রিভার্স করুন।
  • ফলাফল প্রিন্ট করুন।

জাভা কোড উদাহরণ

import java.io.*;

class Solution {
    static void rotateMatrix(int n, int matrix[][]) {
        // ট্রান্সপোজ
        for (int i = 0; i < n; i++) {
            for (int j = i; j < n; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
        // প্রতিটি কলাম রিভার্স (বামদিকে ঘুরানোর জন্য)
        for (int i = 0; i < n; i++) {
            int top = 0;
            int bottom = n - 1;
            while (top < bottom) {
                int temp = matrix[top][i];
                matrix[top][i] = matrix[bottom][i];
                matrix[bottom][i] = temp;
                top++;
                bottom--;
            }
        }
    }

    static void displayMatrix(int n, int mat[][]) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++)
                System.out.print(" " + mat[i][j]);
            System.out.println();
        }
    }

    public static void main(String[] args) {
        int N = 3;
        int mat[][] = {{1,2,3}, {4,5,6}, {7,8,9}};
        rotateMatrix(N, mat);
        displayMatrix(N, mat);
    }
}

আউটপুট

3 6 9
2 5 8
1 4 7
  1. বাইটোনিক সোর্টের জন্য জাভা প্রোগ্রাম

  2. রিকার্সিভ বাইনারি সার্চের জন্য জাভা প্রোগ্রাম

  3. বাইনারি ইনসার্শন সোর্টের জন্য জাভা প্রোগ্রাম

  4. পাইথনে বর্গ ম্যাট্রিক্সকে ৯০ ডিগরি বিপরীত ঘড়ির ডিকশনে ঘুরানোর প্রোগ্রাম