intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Mẫu tin và mảng hai chiều

Chia sẻ: Nguyễn Hữu Thiên Sơn | Ngày: | Loại File: PDF | Số trang:16

130
lượt xem
12
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Mẫu tin và mảng hai chiều

  1. Mẫu tin và mảng hai chiều Nguyễn Đông Hà Khoa CNTT – ĐH KHTN
  2. Ví dụ Mẫu tin biểu diễn tọa độ một điểm gồm 2 thành phần: x, y typedef struct{ int x; int y; }TOADO;
  3. 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.
  4. 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ẳng typedef struct{ int x, y; }POINT; typedef struct{ POINT A, B, C; }TRIANGLE;
  5. 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óa typedef struct{ char MaHS[11]; char Ho[31]; char Ten[8]; float DiemToan, DiemLy, DiemHoa; }HOCSINH;
  6. 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 tin d1.x = 100; d2.y = 200; tg1.A = d1; printf(“Hoanh do diem 1 la: %d”,d1.x);
  7. 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
  8. 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;
  9. 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];
  10. Hướng giải In ra màn hình thông tin chi tiết, các quyển In 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]); } }
  11. Hướng giải In ra màn hình thông tin chi tiết, các quyển In 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]); } }
  12. Kiểu mảng 2 chiều Ki Khai báo mảng 2 chiều: Khai /* 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
  13. Truy xuất phần tử của mảng 2 chiều Truy 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]);
  14. Ví dụ nhập mảng 2 chiều void 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]); } } }
  15. Bài tập Chương 5: 1,3,4,5 Ch
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2