ข้อความโจทย์
ที่นี่เราจะดูวิธีสร้างเมทริกซ์สมมาตร (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