สมมติว่าเรามีเมทริกซ์ขนาด M x N เราต้องหาคอลัมน์ที่มีผลรวมสูงสุด ในโปรแกรมนี้ เราจะไม่ปฏิบัติตามแนวทางที่ยุ่งยาก เราจะสำรวจอาร์เรย์ของคอลัมน์ จากนั้นจึงหาผลรวมของแต่ละคอลัมน์ หากผลรวมเป็นค่าสูงสุด ให้พิมพ์ผลรวมและดัชนีคอลัมน์
ตัวอย่าง
#include<iostream> #define M 5 #define N 5 using namespace std; int colSum(int colIndex, int mat[M][N]){ int sum = 0; for(int i = 0; i<M; i++){ sum += mat[i][colIndex]; } return sum; } void maxColumnSum(int mat[M][N]) { int index = -1; int maxSum = INT_MIN; for (int i = 0; i < N; i++) { int sum = colSum(i, mat); if (sum > maxSum) { maxSum = sum; index = i; } } cout << "Index: " << index << ", Column Sum: " << maxSum; } int main() { int mat[M][N] = { { 1, 2, 3, 4, 5 }, { 5, 3, 1, 4, 2 }, { 5, 6, 7, 8, 9 }, { 0, 6, 3, 4, 12 }, { 9, 7, 12, 4, 3 }, }; maxColumnSum(mat); }
ผลลัพธ์
Index: 4, Column Sum: 31