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

C প্রোগ্রামিং-এ অ্যারে থেকে লোয়ার ট্রায়্যাঙ্গুলার এবং আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স প্রিন্ট করা

প্রোগ্রামের বিবরণ

একটি অ্যারে থেকে লোয়ার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স (Lower Triangular Matrix) এবং আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স (Upper Triangular Matrix) প্রিন্ট করার প্রোগ্রাম লিখা।

ট্রায়্যাঙ্গুলার ম্যাট্রিক্স (Triangular Matrix)

একটি ট্রায়্যাঙ্গুলার ম্যাট্রিক্স হল এমন ম্যাট্রিক্স যা হয় লোয়ার ট্রায়্যাঙ্গুলার অথবা আপার ট্রায়্যাঙ্গুলার।

লোয়ার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স (Lower Triangular Matrix)

একটি স্কোয়ার ম্যাট্রিক্স কে লোয়ার ট্রায়্যাঙ্গুলার বলা হয় যদি মেইন ডায়াগোনালের উপরের সব এন্ট্রি শূন্য (zero) হয়।

আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স (Upper Triangular Matrix)

একটি স্কোয়ার ম্যাট্রিক্স কে আপার ট্রায়্যাঙ্গুলার বলা হয় যদি মেইন ডায়াগোনালের নিচের সব এন্ট্রি শূন্য (zero) হয়।

নিচের ফর্মের ম্যাট্রিক্স:

$$L = \begin{bmatrix} \ell_{1,1} & 0 & 0 \\ \ell_{2,1} & \ell_{2,2} & 0 \\ \ell_{3,1} & \ell_{3,2} & \ddots \\ \vdots & \vdots & \ddots \end{bmatrix}$$

কে লোয়ার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স বা লেফট ট্রায়্যাঙ্গুলার ম্যাট্রিক্স বলা হয়, এবং নিচের ফর্মের ম্যাট্রিক্স:

$$U = \begin{bmatrix} u_{1,1} & u_{1,2} & u_{1,3} & \ldots & u_{1,n} \\ 0 & u_{2,2} & u_{2,3} & \ldots & u_{2,n} \\ 0 & 0 & \ddots & \ddots & \vdots \\ 0 & 0 & 0 & \ddots & u_{n-1,n} \\ 0 & 0 & 0 & 0 & u_{n,n} \end{bmatrix}$$

কে আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স বা রাইট ট্রায়্যাঙ্গুলার ম্যাট্রিক্স বলা হয়।

উদাহরণ - আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স:

$$\begin{bmatrix} 1 & 4 & 1 \\ 0 & 6 & 4 \\ 0 & 0 & 1 \end{bmatrix}$$

উদাহরণ - লোয়ার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স:

$$\begin{bmatrix} 1 & 0 & 0 \\ 2 & 8 & 0 \\ 4 & 9 & 7 \end{bmatrix}$$

আলগরিদম (Algorithm)

বিভিন্ন ডাইমেনশনের ম্যাট্রিক্স উদাহরণ:

C প্রোগ্রামিং-এ অ্যারে থেকে লোয়ার ট্রায়্যাঙ্গুলার এবং আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স প্রিন্ট করা

C প্রোগ্রামিং-এ অ্যারে থেকে লোয়ার ট্রায়্যাঙ্গুলার এবং আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স প্রিন্ট করা

লোয়ার ট্রায়্যাঙ্গুলার ম্যাট্রিক্সের জন্য:

  • সারি (row) এবং কলাম (column) এর ইনডেক্স পজিশন বের করা
  • যদি কলাম পজিশন সারি পজিশন থেকে বড় হয়, তবে সেই পজিশনকে ০ করে দেওয়া

আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্সের জন্য:

  • সারি (row) এবং কলাম (column) এর ইনডেক্স পজিশন বের করা
  • যদি কলাম পজিশন সারি পজিশন থেকে ছোট হয়, তবে সেই পজিশনকে ০ করে দেওয়া

C প্রোগ্রামিং-এ অ্যারে থেকে লোয়ার ট্রায়্যাঙ্গুলার এবং আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স প্রিন্ট করা

উদাহরণ (C প্রোগ্রাম)

/* Program to find Lower and Upper Triangle Matrix */
#include <stdio.h>

int main() {
    int rows, cols, r, c, matrix[10][10];
    // clrscr(); /*Clears the Screen*/ - মডার্ন কম্পাইলার लिये অপ্রয়োজন

    printf("Please enter the number of rows for the matrix: ");
    scanf("%d", &rows);
    printf("\n");

    printf("Please enter the number of columns for the matrix: ");
    scanf("%d", &cols);
    printf("\n");

    printf("Please enter the elements for the Matrix:\n");
    for (r = 0; r < rows; r++) {
        for (c = 0; c < cols; c++) {
            scanf("%d", &matrix[r][c]);
        }
    }

    printf("\nThe Lower Triangular Matrix is:");
    for (r = 0; r < rows; r++) {
        printf("\n");
        for (c = 0; c < cols; c++) {
            if (r >= c) {
                printf("%d\t", matrix[r][c]);
            } else {
                printf("0\t");
            }
        }
    }

    printf("\n\nThe Upper Triangular Matrix is:");
    for (r = 0; r < rows; r++) {
        printf("\n");
        for (c = 0; c < cols; c++) {
            if (r > c) {
                printf("0\t");
            } else {
                printf("%d\t", matrix[r][c]);
            }
        }
    }

    // getch(); // মডার্ন কম্পাইলার लिये অপ্রয়োজন
    return 0;
}

আউটপুট

C প্রোগ্রামিং-এ অ্যারে থেকে লোয়ার ট্রায়্যাঙ্গুলার এবং আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স প্রিন্ট করা

নোট: clrscr() এবং getch() পুরনো কম্পাইলার 위한। আধুনিক কম্পাইলার এ এগুলো বাদ দিয়ে কোড রান করানো যাবে। ম্যাট্রিক্স সাইজ ১০x১০ পর্যন্ত সীমাবদ্ধ।

  1. C প্রোগ্রামে দেওয়া অ্যারে থেকে নিম্ন ত্রিভুজাকার ম্যাট্রিক্স প্যাটার্ন প্রিন্ট করা

  2. C প্রোগ্রামে অ্যারে লেফ্ট রোটেশন O(n) টাইম ও O(1) স্পেসে

  3. C প্রোগ্রামে ২-ডি ম্যাট্রিক্সের কর্ণার উপাদান ও তাদের যোগফল বের করা

  4. C++-এ ম্যাট্রিক্স লোয়ার ট্রায়্যাঙ্গুলার কিনা তা যাচাই করার প্রোগ্রাম