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
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
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ìm kiếm theo từ khóa liên quan:
Bài giảng Kỹ thuật lập trình Kỹ thuật lập trình Mảng hai chiều lập trình C Thao tác trên ma trận vuông Khai báo biếnGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 265 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 207 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 194 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 166 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 153 0 0 -
Giáo trình Kỹ thuật lập trình C: Căn bản & nâng cao - Phần 1
202 trang 127 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 126 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 118 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 109 0 0