ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ค้นหาการติดตามของเมทริกซ์ที่เกิดจากเมทริกซ์หลักของแถวและคอลัมน์
เรามาดูวิธีการสร้างเมทริกซ์หลักแถวและคอลัมน์เมื่อกำหนดลำดับของเมทริกซ์
คำสั่งซื้อ − 3 x 3
เมทริกซ์แถวหลัก −
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
เมทริกซ์เมทริกซ์คอลัมน์ −
| 1 | 4 | 7 |
| 2 | 5 | 8 |
| 3 | 6 | 9 |
เรามีเมทริกซ์เมเจอร์แถวและคอลัมน์ ตอนนี้ เราต้องบวกเมทริกซ์ทั้งคู่ และการติดตามของเมทริกซ์ผลลัพธ์ก็คือผลลัพธ์ที่เรากำลังมองหา
มาดูการเขียนโค้ดเพื่อแก้ปัญหากัน เราต้องทำ 4 ขั้นตอนต่อไปนี้ให้เสร็จเพื่อแก้ไขปัญหาให้เสร็จสิ้น
-
สร้างเมทริกซ์แถวหลัก
-
สร้างเมทริกซ์คอลัมน์หลัก
-
เพิ่มเมทริกซ์ทั้งสองและเก็บเมทริกซ์ผลลัพธ์
-
ค้นหาการติดตามของเมทริกซ์ผลลัพธ์และพิมพ์ผลลัพธ์
ตัวอย่าง
มาดูโค้ดกันเลย
#include <iostream>
#include <bits/stdc++.h>
#include <regex>
using namespace std;
int traceOfRowAndColumnMajorMatrices(int m, int n) {
int row_major[m][n], column_major[m][n], addition_result[m][n], count = 1;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
row_major[i][j] = count;
count += 1;
}
}
count = 1;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
column_major[j][i] = count;
count += 1;
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
addition_result[j][i] = row_major[i][j] + column_major[i][j];
}
}
int trace = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
trace += addition_result[i][j];
}
}
}
return trace;
}
int main() {
int m = 3, n = 3;
cout << traceOfRowAndColumnMajorMatrices(m, n) << endl;
return 0;
} ผลลัพธ์
หากคุณรันโปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้
30
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น