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

In ma trận theo đường chéo (diagonal pattern) trong C

Bài toán

Điền ma trận n×n theo đường chéo (diagonal pattern): bắt đầu (0,0), đi chéo lên phải, xuống trái xen kẽ.

Ví dụ n=3

1 2 4
3 5 7
6 8 9

n=4:

1  2  4  7
3  5  8 11
6  9 12 14
10 13 15 16

Phương pháp

  1. Tạo ma trận tạm mat[n][n]
  2. Điền nửa trên (tam giác trên đường chéo chính): i từ 0→n-1, j=i→0, k=0→i
  3. Điền nửa dưới: k=1→n-1, j=n-1→k, i=k→n-1
  4. In ma trận mat

Mã nguồn C

#include <stdio.h>

void printdiagonal(int n) {
    int mat[n][n], d=1;
    // Nửa trên
    for (int i=0; i=0; j--) {
            mat[k][j] = d++;
            k++;
        }
    }
    // Nửa dưới
    for (int k=1; k=k; j--) {
            mat[i][j] = d++;
            i++;
        }
    }
    // In
    for (int i=0; i

Kết quả n=3

1 2 4
3 5 7
6 8 9