Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hoán đổi đường chéo trên với đường chéo dưới trong C++


Hướng dẫn này được thiết kế để hoán đổi hàng trên của mảng tam giác ba đường chéo sang hàng dưới bằng mã C++. Hơn nữa, nếu mảng tam giác ba đường chéo là đầu vào, kết quả mong muốn sẽ như sau:

Hoán đổi đường chéo trên với đường chéo dưới trong C++

Để làm điều này, quy trình hành động được tóm tắt trong thuật toán như sau:

Thuật toán

Bước 1: Nhập mảng đường chéo
Bước 2: Truyền vào phương thức Swap()
Bước 3: Duyệt vòng lặp ngoài đến 3
Bước 4: Tăng j = i + 1 trong vòng lặp trong đến 3
Bước 5: Đặt giá trị mảng vào biến tạm
Bước 6: Hoán đổi giá trị arr[i][j] = arr[j][i]
Bước 7: Đặt dữ liệu tạm vào arr[j][i]
Bước 8: In bằng vòng lặp for

Vậy mã C++ được soạn thảo như sau dựa trên thuật toán trên:

Ví dụ

#include <iostream>
#define n 3
using namespace std;
// Hàm hoán đổi đường chéo
void swap(int arr[n][n]) {
    // Vòng lặp hoán đổi các phần tử ma trậ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;
        }
    }
    // Vòng lặp in các phần tử ma trận.
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++)
            cout << arr[i][j] << " ";
        cout << endl;
    }
}
// Hàm driver chạy chương trình
int main() {
    int arr[n][n] = {
        { 1, 2, 3},
        { 4, 5, 6},
        { 7, 8, 9},
    };
    cout << "Đầu vào::" << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++)
            cout << arr[i][j] << " ";
        cout << endl;
    }
    // Gọi hàm
    cout << "Đầu ra(Đã hoán đổi)::" << endl;
    swap(arr);
    return 0;
}

Kết quả

Như thấy bên dưới trong kết quả, hàng trên được hoán đổi với đoạn dưới của mảng 3D như sau:

Đầu vào::
1 2 3
4 5 6
7 8 9
Đầu ra(Đã hoán đổi)::
1 4 7
2 5 8
3 6 9