Đang tải... (xem toàn văn)
Mảng là một tập hợp các phần tử cố định có cùng một kiểu, gọi là kiểu phần tử. Chương 6 này sẽ giới thiệu về kiểu mảng trong C, mảng 1 chiều và mảng nhiều chiều. Mời các bạn cùng tham khảo.
LẬP TRÌNH CĂN BẢN Phần - Chương KIỂU MẢNG N.C Danh Nội dung chương Giới thiệu kiểu mảng C Mảng chiều Mảng nhiều chiều Giới thiệu kiểu mảng C (1) Ví dụ: int a[10]; => Hình ảnh a nhớ sau: Giới thiệu kiểu mảng C (2) “Mảng tập hợp phần tử cố định có kiểu, gọi kiểu phần tử” Kiểu phần tử có kiểu bất kỳ: ký tự số struct mảng khác (=> mảng mảng hay mảng nhiều chiều) …; Giới thiệu kiểu mảng C (3) Ví dụ: Lưu trữ đa giác đồ họa: typedef struct { int x; int y; } Point; typedef struct{ Point Points[100]; int nPoints; } Polygon; Points[1] Points[0] Points[2] Points[3] Giới thiệu kiểu mảng C (4) Ta chia mảng làm loại: Mảng chiều Mảng nhiều chiều Mảng chiều (1) Xét góc độ tốn học, mảng chiều giống vector Mỗi phần tử mảng chiều có giá trị mảng khác Khai báo mảng với số phần tử xác định Ví dụ: float a[100]; Cú pháp: ; Khai báo mảng với số phần tử khơng xác định Ví dụ: float a[]; Cú pháp: ; Mảng chiều (2) Vừa khai báo vừa gán giá trị []= {Các giá trị cách dấu phẩy} ; => Số phần tử xác định sizeof() Số phần tử=sizeof(tên mảng)/sizeof(kiểu) Khai báo mảng tham số hình thức hàm khơng cần định số phần tử mảng Mảng chiều (3) Ví dụ: Gán giá trị lúc khai báo int primes[] = {2,3,5,7,11,13}; Sẽ tương đương với: int primes[6]; primes[0] = 2; primes[1] = 3; =>sizeof(primes)/sizeof(int)=6 primes[2] = 5; primes[3] = 7; primes[4] = 11; primes[5] = 13; Truy xuất phần tử mảng (1) Cú Ví pháp: Tên biến mảng[Chỉ số] dụ 1: int a[10]; a[0]=5; a[1]=5; a[2]=33; a[3]=33; a[4]=15; printf(“%d %d %d %d %d”, a[0], a[1], a[2], a[3], a[4]); 10 Truy xuất phần tử mảng (2) Ví dụ 2: Vừa khai báo vừa gán trị cho mảng chiều số nguyên In mảng số nguyên lên hình 11 Truy xuất phần tử mảng (3) Ví dụ 3: Đổi số nguyên dương thập phân thành số nhị phân 12 Truy xuất phần tử mảng (4) Ví dụ 4: Nhập vào dãy n số xếp số theo thứ tự tăng 13 Truy xuất phần tử mảng (5) Ví dụ 5: Chương trình sau hiển thị kết gì? Sửa lỗi nào? Các phần tử mảng a[0], …, a[11] Việc truy cập a[12] vượt bên ngồi mảng, nhớ biến b 14 Mảng nhiều chiều Mảng nhiều chiều mảng có từ chiều trở lên Điều có nghĩa phần tử mảng mảng khác Người ta thường sử dụng mảng nhiều chiều để lưu ma trận, tọa độ chiều, chiều… 15 Khai báo mảng chiều tường minh Cú pháp: ; Ví dụ: float m[8][9]; // mảng chiều có 8*9 phần tử số thực 16 Khai báo mảng chiều không tường minh Để khai báo mảng chiều không tường minh, ta phải số phần tử chiều thứ hai (chiều cuối cùng) Cú pháp: ; Ví dụ: float m[][9]; Cách khai báo áp dụng trường hợp: vừa khai báo vừa gán trị mảng chiều tham số hình thức hàm 17 Truy xuất phần tử mảng chiều Dùng: Tên mảng[Chỉ số 1][Chỉ số 2] 18 Ví dụ (1) Viết chương trình cho phép nhập ma trận a, b có m dịng n cột, thực phép toán cộng hai ma trận a,b in ma trận kết lên hình 19 Ví dụ (2) 20 Hết chương Hết chương 21 ...Nội dung chương Giới thiệu kiểu mảng C Mảng chiều Mảng nhiều chiều Giới thiệu kiểu mảng C (1) Ví dụ: int a[10]; => Hình ảnh a nhớ sau: Giới thiệu kiểu mảng C (2) ? ?Mảng tập hợp phần... hợp phần tử cố định có kiểu, gọi kiểu phần tử” Kiểu phần tử có kiểu bất kỳ: ký tự số struct mảng khác (=> mảng mảng hay mảng nhiều chiều) …; Giới thiệu kiểu mảng C (3) Ví dụ: Lưu... thiệu kiểu mảng C (4) Ta chia mảng làm loại: Mảng chiều Mảng nhiều chiều Mảng chiều (1) Xét góc độ tốn học, mảng chiều giống vector Mỗi phần tử mảng chiều có giá trị khơng phải mảng