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 3Khá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 4Khá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 5float 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 7Khai 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 9Xóa dòng/ cột
Chèn thêm dòng/ cột
Trang 10Cá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 11Nhậ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 12printf("Nhap gia tri [%d][%d]: “, d, c); scanf(“%d”, &a[d][c]);
}}
}
Trang 13printf(“%d\t”, a[d][c]);
}printf(“\n”);
}
}
Trang 15Xuấ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 16Phá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 18Tí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 20Tí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 24Xuấ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 28Q&A