Danh mục

Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Minh Thái

Số trang: 33      Loại file: pptx      Dung lượng: 118.81 KB      Lượt xem: 13      Lượt tải: 0    
thaipvcb

Phí tải xuống: 11,000 VND Tải xuống file đầy đủ (33 trang) 0
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Kỹ thuật lập trình - Chương 2: Mảng hai chiều" cung cấp cho người học các kiến thức: 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. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Minh Thái Lập trình C Chương 2. Mảng hai chiều (3 tiết)Trần Minh TháiEmail: minhthai@huflit.edu.vnWebsite: www.minhthai.edu.vnCập nhật: 21/02/2017 1Nộ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 2KHÁI NIỆM VÀ KHAI BÁO 3Khái niệm Cột Cột Cột Cột Cột Cột 0 1 2 3 4 5 Dòng 0 Dòng 1 Dòng 2 Dòng 3 Ma trận có 4 dòng 6 cột (kích thước 4 x 6) 4Khái niệm• Kiểu dữ liệu mảng 2 chiều được tổ chức theo dạng bảng.• Mỗi dòng 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 5Khai 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]; 6Định nghĩa kiễu dữ liệuĐểđơngiảntrongviệckhaibáomatrận:#defineMAX100typedefmatran[MAX][MAX];VD:Khaibáomatrậncácsốnguyêna#defineMAX100typedefintmatran[MAX][MAX];matrana; 7Khai 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} }; 8Truy xuất phần tửĐể truy xuất các thành phần cua ̉ ma trận ta dựa vào ̉ ́dòngvàchisôchisô ̉ ́côṭCúpháp:tênmatrận[chỉsốdòng][chỉsốcột]VD:• x=a[1][2];//x=7 //Cậpnhậtgiátrịtạichỉsốdòng2,cột3thành10 9CÁC THAO TÁC XỬ LÝ CƠ BẢN 10Cá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 11Cấu trúc lệnh xử lý phổ biến• 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; dNhập/xuất ma trận số nguyênKhaibáo#include#include#define MAX 100typedef int matran[MAX][MAX];void NhapKichThuoc(int &sd, int &sc);void Nhap(matran a, int sd, int sc);void Xuat(matran a, int sd, int sc); 13Nhập/xuất ma trận số nguyênvoid NhapKichThuoc(int &sd, int &sc){ printf(Nhap so dong: ); scanf(%d, &sd); printf(Nhap so cot: ); scanf(%d, &sc);} 14 Nhập/xuất ma trận số nguyênvoid Nhap(matran a, int sd, int sc){ for (int d = 0; d < sd; d++) { for (int c = 0; c < sc; c++) { printf(Nhap gia tri [%d][%d]: , d, c); scanf(%d, &a[d][c]); } }} 15Nhập/xuất ma trận số nguyênvoid Xuat(matran a, int sd, int sc){ for (int d = 0; d < sd; d++) { for (int c = 0; c < sc; c++) { printf(%d\t, a[d][c]); } printf(\n); }} 16Nhập/xuất ma trận số nguyênint main(){ matran a; int sd, sc; NhapKichThuoc(sd, sc); printf(Nhap gia tri cho ma tran:\n); Nhap(a, sd, sc); printf(Cac phan tu trong ma tran\n); Xuat(a, sd, sc); getch(); return 0;} 17Minh họa thực thi của chương trình Nhap so dong cua ma tran: 3 Nhap so cot cua ma tran: 4 Nhap gia tri cho ma tran: Nhap gia tri [0][0]: 1 Nhap gia tri [0][1]: 2 Nhap gia tri [0][2]: 3 Nhap gia tri [0][3]: 4 Nhap gia tri [1][0]: 5 Nhap gia tri [1][1]: 6 Nhap gia tri [1][2]: 7 Nhap gia tri [1][3]: 8 Nhap gia tri [2][0]: 9 Nhap gia tri [2][1]: 10 Nhap gia tri [2][2]: 11 Nhap gia tri [2][3]: 12 Cac phan tu trong ma tran 1 2 3 4 5 6 7 8 9 10 11 12 18Bài tập nhập/xuấtChomatrậnsốnguyênagồmsddòngvàsccột.Viếtcáchàmsau:1. Phátsinhgiátrịngẫunhiênchomatrận2. Xuấtcácphầntửlẻ3. Xuấtcácphầntửlàsốnguyêntố4. Xuấtcácphầntửcógiátrịlớnhơnx 19Phát sinh giá trị ngẫu nhiênvoid PhatSinh(matran a, int sd, int sc){ for (int d = 0; d

Tài liệu được xem nhiều: