Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Tích hàng giữa và cột giữa của ma trận vuông cỡ lẻ trong C

Cho ma trận vuông cỡ lẻ (số hàng = số cột = số lẻ). Tính tích các phần tử trên hàng giữa và cột giữa.

Ví dụ

Đầu vào

mat[][] = {{1,2,3}, {4,5,6}, {7,8,9}}

Đầu ra - Tích hàng giữa: 120, Tích cột giữa: 80

Giải thích - Hàng giữa (chỉ số 1): 4×5×6=120. Cột giữa (chỉ số 1): 2×5×8=80.

Đầu vào

mat[][] = {{3,5,0}, {1,2,7}, {9,0,5}}

Đầu ra - Tích hàng giữa: 14, Tích cột giữa: 0

Phương pháp

  • Chỉ số giữa = n/2 (chia nguyên)
  • Duyệt i từ 0 đến n-1:
  • rproduct *= mat[n/2][i] (hàng giữa)
  • cproduct *= mat[i][n/2] (cột giữa)

Chương trình mẫu

#include <stdio.h>

#define MAX 3

void product(int mat[][MAX], int n) {
    int rproduct = 1, cproduct = 1;
    for (int i = 0; i < n; i++) {
        rproduct *= mat[n/2][i];
        cproduct *= mat[i][n/2];
    }
    printf("Tích hàng giữa: %d\n", rproduct);
    printf("Tích cột giữa: %d\n", cproduct);
}

int main() {
    int mat[][MAX] = {{1,2,3}, {4,5,6}, {7,8,9}};
    product(mat, MAX);
    return 0;
}

Kết quả

Tích hàng giữa: 120
Tích cột giữa: 80