1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình C nâng cao‎: Chương 2 - Trần Minh Thái

28 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 175,58 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 2 của bài giảng trang bị cho người học những hiểu biết về ma trận như; Khái niệm ma trận, khai báo ma trận, các thao tác cơ bản trên ma trận, thao tác trên ma trận vuông và một số bài tập. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.

Trang 3

Khái niệm

Kiểu dữ liệu ma trận được tổ chức theo dạng bảng

2 chiều Thực chất mỗi dòng của ma trận là mảng 1 chiều

Kích thước được xác định bởi số dòng và số cột

Chỉ số dòng và cột được tính từ 0

Trang 4

Khái niệm

Dòng 0 Dòng 1 Dòng 2 Dòng 3

Cột 0

Cột 1

Cột 2

Cột 3

Cột 4

Cột 5

Ma trận có 4 dòng 6 cột (kích thước 4 x 6)

Trang 5

float b[25][10];

Trang 6

Định nghĩa kiễu dữ liệu

Để đơn giản trong việc khai báo ma trận:

Trang 7

Khai báo và khởi gán

<KDL> tên ma trận[số dòng][số cột]={{gt11, gt12, …},

{gt21, gt22, …}, …

{gtk1, gtk2, …}};

VD: int a[3][4] = {{2,3,9,4},

{5,6,7,6}, {2,9,4,7} };

Trang 9

Xóa dòng/ cột

Chèn thêm dòng/ cột

Trang 10

Các thao tác

Sử dụng 2 vòng lặp lồng nhau để duyệt ma trận

Mỗi lần lặp sẽ duyệt từng dòng của ma trận

Gọi sd là số dòng, sc là số cột và a là ma trận Cấu trúc duyệt tổng quát:

Trang 11

Nhập/xuất ma trận số nguyên

Khai báo

#define MAX 100

typedef int matran[MAX][MAX];

void NhapMT(matran a, int sd, int sc);

void XuatMT(matran a, int sd, int sc);

Trang 12

printf("Nhap gia tri [%d][%d]: “, d, c); scanf(“%d”, &a[d][c]);

}}

}

Trang 13

printf(“%d\t”, a[d][c]);

}printf(“\n”);

}

}

Trang 15

Xuất các phần tử là số nguyên tố

Xuất các phần tử có giá trị lớn hơn x

Trang 16

Phát sinh giá trị ngẫu nhiên

void PhatSinh(matran a, int sd, int sc)

{

for (int d = 0; d <= sd - 1; d++)

{

for (int c = 0; c <= sc - 1; c++){

a[d][c] = rand() % MAX;

}}

}

1 Sử dụng thư viện <stdlib.h> và <time.h>

2 Dùng hàm srand((unsigned int) time(NULL))

ở đầu hàm main()

Trang 18

Tính tổng của 1 dòng trong ma trận a

Dòng 0 Dòng 1

Dòng 2

Dòng sd-1

Cột 0

Cột 1

Cột 2

Cột 3

Cột sc-1

Trang 20

Tính tổng của 1 cột trong ma trận a

Dòng 0 Dòng 1 Dòng 2

Dòng sd-1

Cột 0

Cột 1

Cột 2

Cột 3

Cột sc-1

Trang 24

Xuất các phần tử thuộc đường chéo chính

Xuất các phần tử thuộc đường chéo phụ

Trang 28

Q&A

Ngày đăng: 08/05/2021, 12:20

🧩 Sản phẩm bạn có thể quan tâm