এই টিউটোরিয়ালটি C++ কোড ব্যবহার করে একটি থ্রি-ডায়াগোনাল অ্যারে-এর আপার রোকে এর লোয়ার রোর সাথে সোয়াপ করার জন্য ডিজাইন করা হয়েছে। আরও, যদি একটি থ্রি-ডায়াগোনাল অ্যারে ইনপুট হিসেবে দেওয়া হয়, তবু প্রত্যাশিত ফলাফল নিচের মতো হবে:

এজন্য, কোর্স অফ অ্যাকশন অ্যালগরিদমে সংক্ষেপে বর্ণনা করা হয়েছে:
অ্যালগরিদম
ধাপ-১: একটি ডায়াগোনাল অ্যারে ইনপুট নিন ধাপ-২: এটিকে Swap() মেথডে পাস করুন ধাপ-৩: আউটার লুপ ৩ পর্যন্ত ট্রাভার্স করুন ধাপ-৪: ইনার লুপে j = i + 1 ইনক্রিমেন্ট করে ৩ পর্যন্ত চলুন ধাপ-৫: অ্যারে ভ্যালু একটি টেম্প ভেরিয়েবলে রাখুন ধাপ-৬: মান ইন্টারচেঞ্জ করুন arr[i][j] = arr[j][i] ধাপ-৭: টেম্প ডেটা arr[j][i]-এ রাখুন ধাপ-৮: ফর লুপ ব্যবহার করে প্রিন্ট করুন
তাই, উপরের অ্যালগরিদমের অনুমোদন অনুযায়ী C++ কোডটি নিচে ড্রাফ্ট করা হয়েছে:
উদাহরণ
#include <iostream>
#define n 3
using namespace std;
// ডায়াগোনাল সোয়াপ করার ফাংশন
void swap(int arr[n][n]) {
// মেট্রিক্সের এলিমেন্ট সোয়াপের জন্য লুপ
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
int temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
// মেট্রিক্স এলিমেন্ট প্রিন্ট করার জন্য লুপ
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
cout << arr[i][j] << " ";
cout << endl;
}
}
// প্রোগ্রাম চালানোর ড্রাইভার ফাংশন
int main() {
int arr[n][n] = {
{ 1, 2, 3},
{ 4, 5, 6},
{ 7, 8, 9},
};
cout << "Input::" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
cout << arr[i][j] << " ";
cout << endl;
}
// ফাংশন কল
cout << "Output(Swaped)::" << endl;
swap(arr);
return 0;
}
আউটপুট
নিচের আউটপুটে দেখা যাচ্ছে, ৩D অ্যারে-এর আপার রো লোয়ার সেগমেন্টের সাথে সোয়াপ হয়েছে:
Input:: 1 2 3 4 5 6 7 8 9 Output(Swaped):: 1 4 7 2 5 8 3 6 9