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. để nắm bắt các nội dung chi tiết. | TRẦN MINH THÁI Email: minhthai@ Website: Cập nhật: 05 tháng 01 năm 2015 Chương 2. Ma trận Nội dung Khái niệm Khai báo Các thao tác cơ bản trên ma trận Thao tác trên ma trận vuông Bài tập 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 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) Khai báo ma trận Cú pháp tên ma trận [số dòng][số cột]; VD1: khai báo ma trận số nguyên a có 10 dòng và 15 cột int a[10][15]; VD2: khai báo ma trận số thực b có 25 dòng và 10 cột float b[25][10]; Định nghĩa kiễu dữ liệu Để đơn giản trong việc khai báo ma trận: #define MAX 100 typedef matran[MAX][MAX]; VD: Khai báo ma trận các số nguyên a #define MAX 100 typedef int matran[MAX][MAX]; matran a; Khai báo và khởi gán 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} }; Truy xuất phần tử Để truy xuất các thành phần của ma trận ta dựa vào chỉ số dòng và chỉ số cột. Cú pháp: tên ma trận[chỉ số dòng][chỉ số cột] VD: x = a[1][2]; // x = 7 // Cập nhật giá trị tại chỉ số dòng 2, cột 3 thành 10 a[2][3] = 10; Các thao tác Nhập/ xuất Tìm kiếm Đếm Tính tổng/ trung bình Sắp xếp dòng/ cột Xóa dòng/ cột Chèn thêm dòng/ cột 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: for(int d=0; d tên ma trận [số dòng][số cột]; VD1: khai báo ma trận số nguyên a có 10 dòng và 15 cột int a[10][15]; VD2: khai báo ma trận số thực b có 25 dòng và 10 cột float b[25][10]; Định nghĩa kiễu dữ liệu Để đơn giản trong việc khai báo ma trận: #define MAX 100 typedef matran[MAX][MAX]; VD: Khai báo ma trận các số nguyên a #define MAX 100 typedef int matran[MAX][MAX]; matran a; Khai báo và khởi gán tên ma trận[số dòng][số .