একটি স্কোয়ার ম্যাট্রিক্স M[r][c] দেওয়া আছে যেখানে 'r' হল কিছু সংখ্যক রো এবং 'c' হল কলাম যাতে r = c। আমাদের যাচাই করতে হবে 'M' আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স কিনা।
আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স (Upper Triangular Matrix)
আপার ট্রায়্যাঙ্গুলার ম্যাট্রিক্স হল এমন একটি ম্যাট্রিক্স যেটির মেইন ডায়াগোনাল (মেইন ডায়াগোনাল সহ) উপরের এলিমেন্ট গুলো নন-জিরো এবং নিচের এলিমেন্ট গুলো শুধু শূন্য।
নিচের উদাহরণে দেখানো আছে -

উপরের ফিগার-এ লাল হাইলাইট করা এলিমেন্ট গুলো মেইন ডায়াগোনাল থেকে নিচের এলিমেন্ট গুলো যেগুলো শূন্য এবং বাকি এলিমেন্ট গুলো নন-জিরো।
উদাহরণ
ইনপুট: m[3][3] = { {1, 2, 3}, {0, 5, 6}, {0, 0, 9} }
আউটপুট: yes
ইনপুট: m[3][3] == { {3, 0, 1}, {6, 2, 0}, {7, 5, 3} }
আউটপুট: no
অ্যালগরিদম
শুরু
স্টেপ ১ -> #define size 4 ম্যাক্রো ডিফাইন করো
স্টেপ ২ -> ম্যাট্রিক্স লোয়ার ট্রায়্যাঙ্গুলার কিনা চেক করার ফাংশন ডিক্লেয়ার করো
bool check(int arr[size][size])
লুপ i = 1 থেকে i < size এবং i++ পর্যন্ত
লুপ j = 0 থেকে j < i এবং j++ পর্যন্ত
IF (arr[i][j] != 0)
return false
এন্ড
এন্ড
এন্ড
Return true
স্টেপ ৩ -> main()-এ
int arr[size][size] = { { 1, 1, 3, 2 }, { 0, 3, 3, 2 }, { 0, 0, 2, 1 }, { 0, 0, 0, 1 } } ডিক্লেয়ার করো
IF (check(arr))
প্রিন্ট its a lower triangular matrix
এন্ড
এলস
প্রিন্ট its not a lower triangular matrix
এন্ড
স্টপ
উদাহরণ (C++ কোড)
#include <bits/stdc++.h>
#define size 4
using namespace std;
// ম্যাট্রিক্স লোয়ার ট্রায়্যাঙ্গুলার কিনা চেক করো
bool check(int arr[size][size]) {
for (int i = 1; i < size; i++)
for (int j = 0; j < i; j++)
if (arr[i][j] != 0)
return false;
return true;
}
int main() {
int arr[size][size] = { { 1, 1, 3, 2 },
{ 0, 3, 3, 2 },
{ 0, 0, 2, 1 },
{ 0, 0, 0, 1 } };
if (check(arr))
cout << "its a lower triangular matrix";
else
cout << "its not a lower triangular matrix";
return 0;
}
আউটপুট
its a lower triangular matrix