Hướng dẫn này được thiết kế để hoán đổi hàng trên của mảng ba đường chéo với hàng dưới của nó bằng cách sử dụng mã c ++. Hơn nữa, nếu một mảng ba đường chéo là một đầu vào, thì kết quả mong muốn phải giống như thế;
Đối với điều này, quá trình hành động được tóm tắt trong thuật toán như sau;
Thuật toán
Step-1: Input a diagonal array Step-2: Pass it to Swap() method Step-3: Traverse the outer loop till 3 Step-4: increment j= i+ 1 in the inner loop till 3 Step-5: put the array value in a temp variable Step-6: interchange the value arr[i][j]= arr[j][i] Step-7: put the temp data to arr[j][i] Step-8: Print using for loop
Vì vậy, mã c ++ được soạn thảo như sau theo sự kết hợp của thuật toán nói trên;
Ví dụ
#include <iostream> #define n 3 using namespace std; // Function to swap the diagonal void swap(int arr[n][n]){ // Loop for swap the elements of matrix. 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; } } // Loop for print the matrix elements. for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) cout << arr[i][j] << " "; cout << endl; } } // Driver function to run the program 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; } // Function call cout<<"Output(Swaped)::"<<endl; swap(arr); return 0; }
Đầu ra
Như được thấy bên dưới trong đầu ra, hàng trên được hoán đổi với phần dưới của mảng 3D thành;
Input:: 1 2 3 4 5 6 7 8 9 Output(Swaped):: 1 4 7 2 5 8 3 6 9