Chương Trình In Ma Trận Số Bằng Ngôn Ngữ C

Trong quá trình học ngôn ngữ lập trình C, cấu trúc vòng lặp lồng nhau đóng vai trò quan trọng. Bài viết này sẽ hướng dẫn bạn cách tạo một chương trình in ma trận số bằng cách sử dụng vòng lặp lồng nhau.

Mã Chi Tiết

Mục tiêu của chúng ta là in ra một ma trận 5x5, mỗi dòng hiển thị các số từ 1 đến 5 liên tiếp.

#include <stdio.h>

int main() {
    int dong, cot;                             // Khai báo hai biến cho dòng và cột
    int chieuDong = 5;                         // Tổng số dòng
    int chieuCot = 5;                          // Tổng số cột mỗi dòng
    
    for (dong = 1; dong <= chieuDong; dong++) {   // Vòng lặp ngoài điều khiển dòng
        for (cot = 1; cot <= chieuCot; cot++) {   // Vòng lặp trong điều khiển cột
            printf("%d", cot);                   // In ra số hiện tại của cột
        }
        printf("\n");                            // Sau mỗi dòng, xuống hàng mới
    }
    
    return 0;
}

Kết Quả Chạy Chương Trình

Sau khi chạy chương trình, kết quả xuất hiện trên màn hình như sau:
12345
12345
12345
12345
12345

Phân Tích Logic Mã

  • Vòng lặp ngoài: Điều khiển từng dòng từ `dong = 1` đến `dong = 5`, thực hiện tổng cộng 5 lần.
  • Vòng lặp trong: Điều khiển từng cột từ `cot = 1` đến `cot = 5`, mỗi dòng in ra 5 số.
  • Xuống dòng: Mỗi lần hoàn thành vòng lặp trong, thêm một ký tự xuống dòng để bắt đầu dòng mới.
Như vậy, mỗi dòng sẽ in ra `12345`, tổng cộng có 5 dòng.

Phân Tích Độ Phức Tạp Thời Gian

- Vòng lặp ngoài thực hiện `chieuDong` lần. - Mỗi lần vòng lặp ngoài, vòng lặp trong thực hiện `chieuCot` lần. - Mỗi lần vòng lặp trong gọi hàm `printf`. Tổng số thao tác cơ bản: chieuDong × chieuCot = 5 × 5 = 25 - **Độ phức tạp thời gian**: O(n²) Nếu giả định số dòng và cột giống nhau là n, thì độ phức tạp là: O(n²).

Phân Tích Độ Phức Tạp Không Gian

- Chương trình chỉ sử dụng các biến hằng cấp: `dong`, `cot`, `chieuDong`, `chieuCot`. - Không cần dữ liệu bổ sung để lưu trữ kết quả. - **Độ phức tạp không gian**: O(1)
Dự ÁnMô Tả
Kết Quả Đầu RaMa trận 5x5 với mỗi dòng là `12345`
Độ Phức Tạp Thời GianO(n²)
Độ Phức Tạp Không GianO(1)
Nội Dung ChínhVòng lặp for lồng nhau

Thẻ: C vòng-lặp-nested ma-trận-số độ-phức-tạp-thời-gian độ-phức-tạp-không-gian

Đăng vào ngày 9 tháng 6 lúc 23:14