এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা রো এবং কলাম মেজর ম্যাট্রিক্স যোগ করে তৈরি ম্যাট্রিক্সের ট্রেস বের করবে।
ম্যাট্রিক্সের অর্ডার দেওয়া থাকলে রো এবং কলাম মেজর ম্যাট্রিক্স কিভাবে ফর্ম করতে হয় সেটা দেখি।
অর্ডার - 3 x 3
রো মেজর ম্যাট্রিক্স (Row Major Matrix) -
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
কলাম মেজর ম্যাট্রিক্স (Column Major Matrix) -
| 1 | 4 | 7 |
| 2 | 5 | 8 |
| 3 | 6 | 9 |
আমাদের রো এবং কলাম মেজর ম্যাট্রিক্স আছে। এখন, আমাদের দুটি ম্যাট্রিক্স যোগ করতে হবে। এবং ফলাফল ম্যাট্রিক্সের ট্রেস হচ্ছে আমরা যা খুঁজছি।
সমস্যাটি সমাধান করার কোড লিখি। এই ৪টি স্টেপ পূরণ করলে সমাধান সম্পন্ন হবে।
- রো-মেজর ম্যাট্রিক্স তৈরি করুন।
- কলাম-মেজর ম্যাট্রিক্স তৈরি করুন।
- দুটি ম্যাট্রিক্স যোগ করে ফলাফল ম্যাট্রিক্সে স্টোর করুন।
- ফলাফল ম্যাট্রিক্সের ট্রেস বের করে প্রিন্ট করুন।
উদাহরণ
কোডটি দেখি।
#include <iostream>
#include <bits/stdc++.h>
#include <regex>
using namespace std;
int traceOfRowAndColumnMajorMatrices(int m, int n) {
int row_major[m][n], column_major[m][n], addition_result[m][n], count = 1;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
row_major[i][j] = count;
count += 1;
}
}
count = 1;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
column_major[j][i] = count;
count += 1;
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
addition_result[j][i] = row_major[i][j] + column_major[i][j];
}
}
int trace = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
trace += addition_result[i][j];
}
}
}
return trace;
}
int main() {
int m = 3, n = 3;
cout << traceOfRowAndColumnMajorMatrices(m, n) << endl;
return 0;
}
আউটপুট
30
উপসংহার
টিউটোরিয়ালে যদি কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।