Bài giảng Nhập môn lập trình: Mẫu tin và mảng hai chiều - ThS. Nguyễn Đông Hà
Số trang: 16
Loại file: pdf
Dung lượng: 294.23 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng này cung cấp các kiến thức về mẫu tin và mảng hai chiều. Các nội dung chính trong chương này gồm có: Định nghĩa mẫu tin, khai báo mẫu tin, sử dụng mẫu tin, kiểu mảng 2 chiều,...và một số bài tập liên quan khác. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn lập trình: Mẫu tin và mảng hai chiều - ThS. Nguyễn Đông Hà Mẫu tin vàmảng hai chiều Nguyễn Đông Hà Khoa CNTT – ĐH KHTN Sưu tầm bởi: www.daihoc.com.vn Ví dụ Mẫu tin biểu diễn tọa độ một điểm gồm 2 thành phần: x, ytypedef struct{ int x; int y;}TOADO; Sưu tầm bởi: www.daihoc.com.vn Mẫu tin Một mẫu tin (structure) là một tập hợp của một hoặc nhiều biến nhóm lại dưới một tên duy nhất để dễ thao tác. Các biến trong mẫu tin có thể khác nhau về kiểu dữ liệu. Mỗi biến trong mẫu tin có thể thuộc bất kỳ kiểu dữ liệu nào, kể cả mảng và mẩu tin. Sưu tầm bởi: www.daihoc.com.vn Ví dụ khai báo mẫu tin Kiểu dữ liệu lưu trữ điểm và tam giác trong mặt phẳngtypedef struct{ int x, y;}POINT;typedef struct{ POINT A, B, C;}TRIANGLE; Sưu tầm bởi: www.daihoc.com.vn Ví dụ khai báo mẫu tin Kiểu dữ liệu lưu trữ thông tin một học sinh cùng với điểm thi 3 môn Toán, Lý, Hóatypedef struct{ char MaHS[11]; char Ho[31]; char Ten[8]; float DiemToan, DiemLy, DiemHoa;}HOCSINH; Sưu tầm bởi: www.daihoc.com.vn Sử dụng mẫu tin Có thể dùng mẫu tin như là một kiểu dữ liệu trong chương trình.POINT d1, d2, d3;TRIANGLE tg1, tg2; Sử dụng dấu chấm (.) để truy xuất đến từng thành phần trong mẫu tind1.x = 100; d2.y = 200;tg1.A = d1;printf(“Hoanh do diem 1 la: %d”,d1.x); Sưu tầm bởi: www.daihoc.com.vn Bài tập ví dụ Bài 2 chương 5: Nhập vào 1 danh sách n quyển sách (1 Hướng giải Vì mỗi quyển sách bao gồm nhiều thông tin, dữ liệu quyển sách phải lưu trữ bằng mẩu tin.typedef struct{ int ma_sach; char ten_sach[20]; char ten_tac_gia[20]; int nam_xuat_ban; long gia_tien;}SACH; Sưu tầm bởi: www.daihoc.com.vn Hướng giải Dùng mảng 1 chiều để chứa n quyển sách. Mảng khai báo có kích thước tối đa là 25.SACH danh_sach[25]; Sưu tầm bởi: www.daihoc.com.vn Hướng giải In ra màn hình thông tin chi tiết, các quyển xuất bản trước 1975, giá lớn hơn 1000.void XuatSachTheoYeuCau(SACH mang[25], int n){ int i = 0; for(i = 0; i < n ; i++) { if(mang[i].nam_xuat_ban 1000) XuatSach(mang[i]); }} Sưu tầm bởi: www.daihoc.com.vn Hướng giải In ra màn hình thông tin chi tiết, các quyển xuất bản trước 1975, giá lớn hơn 1000.void TimSach(SACH mang[25], int n){ ..../* Bien s chua ten tac gia can tim */ for(i = 0; i < n; i++) { if(strcmp(s,mang[i].ten_tac_gia)==0) XuatSach(mang[i]); }} Sưu tầm bởi: www.daihoc.com.vn Kiểu mảng 2 chiều Khai báo mảng 2 chiều:/* Tạo mảng 2 chiều có 3 dòng, 5 cột */int a[3][5]; 0 1 2 3 4 1 2 3 4 5 2 3 4 5 6 Sưu tầm bởi: www.daihoc.com.vn Truy xuất phần tử của mảng 2 chiều Gán giá trị cho từng phần tửa[0][1] = 6;a[1][2] = 9;scanf(“%d”,&a[0][2]); Lấy giá trị phần tử của mảng 2 chiều:x = a[0][0];printf(“Dong 0, cot 1: %d”, a[0][1]); Sưu tầm bởi: www.daihoc.com.vn Ví dụ nhập mảng 2 chiềuvoid NhapMang(int mang[NMAX][NMAX], int *sodong, int *socot){ int i,j; printf(\nNhap so dong cua mang 2 chieu:); scanf(%d, sodong); printf(\nNhap so cot cua mang 2 chieu:); scanf(%d, socot); for(i = 0; i < *sodong; i++) { for(j=0; j < *socot; j++) { printf(Nhap phan tu dong %d, cot %d: , i, j); scanf(%d, &mang[i][j]); } }} Sưu tầm bởi: www.daihoc.com.vn Bài tập Chương 5: 1,3,4,5 Sưu tầm bởi: www.daihoc.com.vnSưu tầm bởi: www.daihoc.com.vn
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn lập trình: Mẫu tin và mảng hai chiều - ThS. Nguyễn Đông Hà Mẫu tin vàmảng hai chiều Nguyễn Đông Hà Khoa CNTT – ĐH KHTN Sưu tầm bởi: www.daihoc.com.vn Ví dụ Mẫu tin biểu diễn tọa độ một điểm gồm 2 thành phần: x, ytypedef struct{ int x; int y;}TOADO; Sưu tầm bởi: www.daihoc.com.vn Mẫu tin Một mẫu tin (structure) là một tập hợp của một hoặc nhiều biến nhóm lại dưới một tên duy nhất để dễ thao tác. Các biến trong mẫu tin có thể khác nhau về kiểu dữ liệu. Mỗi biến trong mẫu tin có thể thuộc bất kỳ kiểu dữ liệu nào, kể cả mảng và mẩu tin. Sưu tầm bởi: www.daihoc.com.vn Ví dụ khai báo mẫu tin Kiểu dữ liệu lưu trữ điểm và tam giác trong mặt phẳngtypedef struct{ int x, y;}POINT;typedef struct{ POINT A, B, C;}TRIANGLE; Sưu tầm bởi: www.daihoc.com.vn Ví dụ khai báo mẫu tin Kiểu dữ liệu lưu trữ thông tin một học sinh cùng với điểm thi 3 môn Toán, Lý, Hóatypedef struct{ char MaHS[11]; char Ho[31]; char Ten[8]; float DiemToan, DiemLy, DiemHoa;}HOCSINH; Sưu tầm bởi: www.daihoc.com.vn Sử dụng mẫu tin Có thể dùng mẫu tin như là một kiểu dữ liệu trong chương trình.POINT d1, d2, d3;TRIANGLE tg1, tg2; Sử dụng dấu chấm (.) để truy xuất đến từng thành phần trong mẫu tind1.x = 100; d2.y = 200;tg1.A = d1;printf(“Hoanh do diem 1 la: %d”,d1.x); Sưu tầm bởi: www.daihoc.com.vn Bài tập ví dụ Bài 2 chương 5: Nhập vào 1 danh sách n quyển sách (1 Hướng giải Vì mỗi quyển sách bao gồm nhiều thông tin, dữ liệu quyển sách phải lưu trữ bằng mẩu tin.typedef struct{ int ma_sach; char ten_sach[20]; char ten_tac_gia[20]; int nam_xuat_ban; long gia_tien;}SACH; Sưu tầm bởi: www.daihoc.com.vn Hướng giải Dùng mảng 1 chiều để chứa n quyển sách. Mảng khai báo có kích thước tối đa là 25.SACH danh_sach[25]; Sưu tầm bởi: www.daihoc.com.vn Hướng giải In ra màn hình thông tin chi tiết, các quyển xuất bản trước 1975, giá lớn hơn 1000.void XuatSachTheoYeuCau(SACH mang[25], int n){ int i = 0; for(i = 0; i < n ; i++) { if(mang[i].nam_xuat_ban 1000) XuatSach(mang[i]); }} Sưu tầm bởi: www.daihoc.com.vn Hướng giải In ra màn hình thông tin chi tiết, các quyển xuất bản trước 1975, giá lớn hơn 1000.void TimSach(SACH mang[25], int n){ ..../* Bien s chua ten tac gia can tim */ for(i = 0; i < n; i++) { if(strcmp(s,mang[i].ten_tac_gia)==0) XuatSach(mang[i]); }} Sưu tầm bởi: www.daihoc.com.vn Kiểu mảng 2 chiều Khai báo mảng 2 chiều:/* Tạo mảng 2 chiều có 3 dòng, 5 cột */int a[3][5]; 0 1 2 3 4 1 2 3 4 5 2 3 4 5 6 Sưu tầm bởi: www.daihoc.com.vn Truy xuất phần tử của mảng 2 chiều Gán giá trị cho từng phần tửa[0][1] = 6;a[1][2] = 9;scanf(“%d”,&a[0][2]); Lấy giá trị phần tử của mảng 2 chiều:x = a[0][0];printf(“Dong 0, cot 1: %d”, a[0][1]); Sưu tầm bởi: www.daihoc.com.vn Ví dụ nhập mảng 2 chiềuvoid NhapMang(int mang[NMAX][NMAX], int *sodong, int *socot){ int i,j; printf(\nNhap so dong cua mang 2 chieu:); scanf(%d, sodong); printf(\nNhap so cot cua mang 2 chieu:); scanf(%d, socot); for(i = 0; i < *sodong; i++) { for(j=0; j < *socot; j++) { printf(Nhap phan tu dong %d, cot %d: , i, j); scanf(%d, &mang[i][j]); } }} Sưu tầm bởi: www.daihoc.com.vn Bài tập Chương 5: 1,3,4,5 Sưu tầm bởi: www.daihoc.com.vnSưu tầm bởi: www.daihoc.com.vn
Tìm kiếm theo từ khóa liên quan:
Nhập môn lập trình Bài giảng Nhập môn lập trình Ngôn ngữ C Ngôn ngữ lập trình Mảng hai chiều Khai báo mẫu tinTài liệu cùng danh mục:
-
Tìm hiểu về lỗi tràn bộ đệm (Buffer Overflow)
5 trang 364 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 345 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 7 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
16 trang 335 0 0 -
180 trang 274 0 0
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 253 0 0 -
173 trang 248 2 0
-
Bài giảng Phân tích thiết kế và giải thuật - Chương 2: Kỹ thuật thiết kế giải thuật
80 trang 245 0 0 -
Kiến thức phần cứng máy tính - Sửa chữa nâng cấp và cài đặt máy tính xách tay Tập 2
483 trang 243 3 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 243 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 6 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
12 trang 240 0 0
Tài liệu mới:
-
Công ty sữa định vị thương hiệu như thế nào?
12 trang 0 0 0 -
99 trang 0 0 0
-
128 trang 0 0 0
-
153 trang 0 0 0
-
90 trang 0 0 0
-
21 trang 1 0 0
-
139 trang 0 0 0
-
48 trang 0 0 0
-
91 trang 0 0 0
-
Luận văn Thạc sĩ Quản lý kinh tế: Thanh tra chi ngân sách nhà nước cấp xã của Thanh tra huyện Sapa
104 trang 1 0 0