এলগরিদম
একই ভেরিয়েবল ব্যবহার করে একাধিক লিনিয়ার সমীকরণকে ম্যাট্রিক্স আকারে AX = B ফর্মে লিখা যায়। এখানে A = কোএফিশিয়েন্ট ম্যাট্রিক্স, X = ভেরিয়েবল ভেক্টর, B = কনস্ট্যান্ট ভেক্টর।
ধাপসমূহ:
- ভেরিয়েবলের সংখ্যা
nইনপুট নিন। n x nকোএফিশিয়েন্ট ম্যাট্রিক্স এবংn x 1কনস্ট্যান্ট অ্যারে ডিক্লেয়ার করুন।- নেস্টেড লুপ দিয়ে প্রতিটি সমীকরণের কোএফিশিয়েন্ট ও কনস্ট্যান্ট ইনপুট নিন।
- ম্যাট্রিক্স রিপ্রেজেন্টেশন প্রিন্ট করুন।
উদাহরণ কোড
#include <iostream>
#include <vector>
using namespace std;
int main() {
cout << "ভেরিয়েবলের সংখ্যা: ";
int n; cin >> n;
vector<vector<int>> matrix(n, vector<int>(n));
vector<int> constant(n);
char vars[] = {'x', 'y', 'z', 'w', 't'};
cout << "প্রতিটি সমীকরণের কোএফিশিয়েন্ট ও কনস্ট্যান্ট লিখুন (ax + by + cz ... = d):\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
cin >> matrix[i][j];
cin >> constant[i];
}
cout << "\nম্যাট্রিক্স রিপ্রেজেন্টেশন (AX = B):\n";
cout << "A =\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
cout << matrix[i][j] << " ";
cout << "\n";
}
cout << "X = [";
for (int i = 0; i < n; i++)
cout << vars[i] << (i == n-1 ? "]\n" : ", ");
cout << "B = [";
for (int i = 0; i < n; i++)
cout << constant[i] << (i == n-1 ? "]\n" : ", ");
return 0;
}
আউটপুট উদাহরণ
ইনপুট: ভেরিয়েবলের সংখ্যা: 3 কোএফিশিয়েন্ট ও কনস্ট্যান্ট: 1 2 3 4 5 6 7 9 8 5 2 1 আউটপুট: ম্যাট্রিক্স রিপ্রেজেন্টেশন (AX = B): A = 1 2 3 5 6 7 8 5 2 X = [x, y, z] B = [4, 9, 1]
ব্যাখ্যা
এই প্রোগ্রামটি লিনিয়ার সমীকরণ সিস্টেমকে ম্যাট্রিক্স ফর্মে কনভার্ট করে, যা পরবর্তীতে গাউস এলিমিনেশন, গাউস-জর্ডান, বা ম্যাট্রিক্স ইনভার্স পদ্ধতিতে সমাধান করা সহজ করে দেয়। ভেরিয়েবলের নাম প্রিন্ট করে বোঝার সুবিধা দেওয়া হয়েছে।