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

ค้นหาเมทริกซ์สมมาตรของลำดับ N ที่มีจำนวนเต็มตั้งแต่ 0 ถึง N-1 และเส้นทแยงมุมหลักควรมีเพียง 0 ใน C ++


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