Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หาเมทริกซ์สมมาตร (Symmetric Matrix) ระดับ N ที่มีจำนวนเต็ม 0 ถึง N-1 และเส้นทแยงหลักเป็น 0 ด้วย C++

ข้อความโจทย์

ที่นี่เราจะดูวิธีสร้างเมทริกซ์สมมาตร (Symmetric Matrix) ระดับ N และสมาชิกของแต่ละแถวจะมีตัวเลขจาก 0 ถึง N-1 สมาชิกบนเส้นทแยงมุมจะเป็น 0 เสมอ

งานนี้ง่าย เราจะสร้างเมทริกซ์ N x N แล้วสำหรับแต่ละแถว i และคอลัมน์ j ถ้า i และ j เหมือนกัน ให้ทำเครื่องหมายเป็น 0 มิฉะนั้น เพิ่มตัวนับจาก 1 ถึง N-1 วางค่าสำหรับแต่ละแถวแยกกัน

ตัวอย่างโค้ด

#include <iostream>
using namespace std;

void makeSymmetricMatrix(int n) {
    int matrix[n][n];
    for (int i = 0; i < n; i++) {
        int count = 1;
        for (int j = 0; j < n; j++) {
            if (i == j) {
                matrix[i][j] = 0;
            } else {
                matrix[i][j] = count++;
            }
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
}

int main() {
    int n = 5;
    makeSymmetricMatrix(n);
}

ผลลัพธ์

0 1 2 3 4
1 0 2 3 4
1 2 0 3 4
1 2 3 0 4
1 2 3 4 0