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

Chương trình ma trận đơn vị (Identity Matrix) trong C


Cho ma trận vuông M[r][c] với r hàng, c cột, r = c. Kiểm tra M có phải ma trận đơn vị hay không.

Ma trận đơn vị

Ma trận đơn vị (Unit matrix) kích thước nxn, các phần tử đường chéo chính = 1, phần tử ngoài đường chéo = 0.

Ví dụ:

$$I1=\begin{bmatrix}1 \end{bmatrix},\\ I2=\begin{bmatrix}1 & 0 \\0 & 1 \end{bmatrix},\\ I3=\begin{bmatrix}1 & 0 & 0 \\0 & 1 & 0 \\0 & 0 & 1 \end{bmatrix},\\In=\begin{bmatrix}1 & 0 & 0 & ... & 0 \\0 & 1 & 0 & ... & 0\\0 & 0 & 1 & ... & 0\\. & . & . & ... & .\\. & . & . & ... & .\\0 & 0 & 0 & ... & 1\end{bmatrix}$$

Ví dụ

Đầu vào: m[3][3] = {{1,0,0},{0,1,0},{0,0,1}} -> yes
Đầu vào: m[3][3] = {{3,0,1},{6,2,0},{7,5,3}} -> no

Thuật toán

BAT DAU
B1: Hàm identity(int num)
    khai báo row, col
    Vòng lặp row=0; row

Ví dụ

#include <stdio.h>
int identity(int num) {
    int row, col;
    for (row = 0; row < num; row++) {
        for (col = 0; col < num; col++) {
            if (row == col)
                printf("%d ", 1);
            else
                printf("%d ", 0);
        }
        printf("\n");
    }
    return 0;
}
int main() {
    int size = 4;
    identity(size);
    return 0;
}

Kết quả

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1