এই সমস্যায়, আমাদের একটি ম্যাট্রিক্স দেওয়া আছে। আমাদের কাজ হল আপার ট্রায়্যাঙ্গেল এবং লোয়ার ট্রায়্যাঙ্গেলের যোগফল প্রিন্ট করার জন্য একটি প্রোগ্রাম তৈরি করা।
লোয়ার ট্রায়্যাঙ্গেল
M₀₀ 0 0 … 0 M₁₀ M₁₁ 0 … 0 M₂₀ M₂₁ M₂₂ … 0 … Mᵣₒw₀ Mᵣₒw₁ Mᵣₒw₂ … Mᵣₒw,ᶜᵒˡ
আপার ট্রায়্যাঙ্গেল
M₀₀ M₀₁ M₀₂ … M₀,ᶜᵒˡ 0 M₁₁ M₁₂ … M₁,ᶜᵒˡ 0 0 M₂₂ … M₂,ᶜᵒˡ … 0 0 0 … Mᵣₒw,ᶜᵒˡ
উদাহরণ দিয়ে বোঝা যাক
ইনপুট: {{5, 1, 6}, {8, 2, 0}, {3, 7, 4}}
আউটপুট: আপার ট্রায়্যাঙ্গেল যোগফল = ১৮, লোয়ার ট্রায়্যাঙ্গেল যোগফল = ২৯
ব্যাখ্যা:
আপার ট্রায়্যাঙ্গেল যোগফল = 5 + 1 + 6 + 2 + 0 + 4 = ১৮
লোয়ার ট্রায়্যাঙ্গেল যোগফল = 5 + 8 + 2 + 3 + 7 + 4 = ২৯
এই সমস্যা সমাধানের একটি সহজ পদ্ধতি হল লুপ ব্যবহার করে আপার এবং লোয়ার ট্রায়্যাঙ্গুলার উপাদানগুলো ট্রাভার্স করা এবং দুটি আলাদা ভেরিয়েবল (lSum এবং uSum) এ যোগফল গণনা করা।
C++ প্রোগ্রাম উদাহরণ
#include <iostream>
using namespace std;
int row = 3;
int col = 3;
void sum(int mat[3][3]) {
int i, j;
int uSum = 0;
int lSum = 0;
for (i = 0; i < row; i++)
for (j = 0; j < col; j++) {
if (i <= j) {
uSum += mat[i][j];
}
}
cout << "Sum of the upper triangle is " << uSum << endl;
for (i = 0; i < row; i++)
for (j = 0; j < col; j++) {
if (j <= i) {
lSum += mat[i][j];
}
}
cout << "Sum of the lower triangle is " << lSum << endl;
}
int main() {
int mat[3][3] = { { 5, 1, 6 },
{ 8, 2, 0 },
{ 3, 7, 4 }};
sum(mat);
return 0;
}
আউটপুট
Sum of the upper triangle is 18 Sum of the lower triangle is 29