Bài giảng Kỹ thuật lập trình nâng cao: Chương 3 - ThS. Phạm Đào Minh Vũ
Số trang: 12
Loại file: pdf
Dung lượng: 284.20 KB
Lượt xem: 14
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:
Chương 3 - Mảng 1 chiều nâng cao. Nội dung chính của chương này gồm: Khái niệm mảng, khai báo mảng, các thao tác trên mảng, chèn phần tử vào mảng, xóa phần tử khỏi mảng, một số bài tập ứng dụng. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình nâng cao: Chương 3 - ThS. Phạm Đào Minh Vũ CHƢƠNG 2 MẢNG 1 CHIỀU NÂNG CAO1 Mảng 1 chiều Mảng thực chất là một biến được cấp phát bộ nhớ liên tục và bao gồm nhiều biến thành phần. Các thành phần của mảng là tập hợp các biến có cùng kiểu dữ liệu và cùng tên. Do đó để truy xuất các biến thành phần, ta dùng cơ chế chỉ mục theo dạng: tên mảng [chỉ số] Giá trị 15 có 6n phần7 tử thì Mảng 11chỉ số9 tính 3từ 0 đến 8 n-110 25 Chỉ số 0 1 2 3 4 5 6 7 82 Khai báo mảngCách 1: Con trỏ hằng Cú pháp: [] ; Ví dụ: int a[100]; //Khai bao mang so nguyen a gom 100 phan tu float b[50]; //Khai bao mang so thuc b gom 50 phan tu Khởi gán giá trị ban đầu cho mảng: [] = {Giá trị}; Ví dụ: int a[5] = {11}; Giá trị 11 11 11 11 113 Chỉ số 0 1 2 3 4 Khai báo mảng Cách 2: Con trỏ Ý nghĩa: Khi ta khai báo một mảng với kiểu dữ liệu bất kì (int, float, char,…) thì tên của mảng thực chất là một hằng địa chỉ của phần tử đầu tiên. Cú pháp: < Kiểu dữ liệu > *< Tên mảng >; Ví dụ : int *p; // khai bao con tro p int b[100]; p = new int [100]; p = b; // p tro vao phan tu 0 cua mang b Với cách viết như trên thì ta có thể hiểu các cách viết sau là tương đương : p[i] *(p + i) b[i] *(b+i) Cấp phát bộ nhớ: new Giải phóng bộ nhớ: delete4 Các thao tác Nhập / xuất Tìm kiếm Sắp xếp Kiểm tra Đếm Thêm / xóa Tính tổng, giá trị trung bình, …5 Bài tập ứng dụng 1. Nhập vào ngày tháng năm, kiểm tra xem ngày tháng năm có hợp lệ không 2. Phát sinh 2 mảng số nguyên tăng dần: a và b, nối thành mảng c sao cho c cũng tăng dần 3. Thống kê số lượng các phần tử có trong mảng số nguyên có 10.000 phần tử (các phần tử trong mảng được phát sinh ngẫu nhiên có giá trị từ 0 đến 30.000) 4. Cho biết phần tử nào xuất hiện nhiều nhất trong mảng số nguyên có 10.000 phần tử (các phần tử trong mảng được phát sinh ngẫu nhiên có giá trị từ 0 đến 30.000)6 Chèn phần tử vào mảng Cho mảng sau: 12 5 7 9 21 38 0 1 2 3 4 5 Hãy trình bày từng bước chèn 111 vào vị trí 3 của mảng 111 12 5 7 9 21 38 0 1 2 3 4 57 Chèn phần tử vào mảng Hãy viết hàm chèn phần tử có giá trị x vào vị trí k cho trước trong mảng a kích thước n theo mẫu sau: void ChenX(int a[], int &n, int x, int k);8 Bài tập áp dụng Hãy viết hàm chèn phần tử có giá trị x vào sau phần tử có giá trị nhỏ nhất có trong mảng a, kích thước n (giả sử mảng không có giá trị trùng nhau)9 Xóa phần tử khỏi mảng Cho mảng sau: 12 5 7 9 21 38 0 1 2 3 4 5 Hãy trình bày từng bước xóa phần tử tại vị trí 3 trong mảng 12 5 7 9 21 38 0 1 2 3 4 510 Xóa phần tử khỏi mảng Hãy viết hàm xóa phần tử tại vị trí k cho trước trong mảng a kích thước n theo mẫu sau: void XoaTaiVTk(int a[], int &n, int k);11 Bài tập áp dụng Hãy viết hàm xóa phần tử x (nếu có) trong mảng a, kích thước n (giả sử mảng không có giá trị trùng nhau)12
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình nâng cao: Chương 3 - ThS. Phạm Đào Minh Vũ CHƢƠNG 2 MẢNG 1 CHIỀU NÂNG CAO1 Mảng 1 chiều Mảng thực chất là một biến được cấp phát bộ nhớ liên tục và bao gồm nhiều biến thành phần. Các thành phần của mảng là tập hợp các biến có cùng kiểu dữ liệu và cùng tên. Do đó để truy xuất các biến thành phần, ta dùng cơ chế chỉ mục theo dạng: tên mảng [chỉ số] Giá trị 15 có 6n phần7 tử thì Mảng 11chỉ số9 tính 3từ 0 đến 8 n-110 25 Chỉ số 0 1 2 3 4 5 6 7 82 Khai báo mảngCách 1: Con trỏ hằng Cú pháp: [] ; Ví dụ: int a[100]; //Khai bao mang so nguyen a gom 100 phan tu float b[50]; //Khai bao mang so thuc b gom 50 phan tu Khởi gán giá trị ban đầu cho mảng: [] = {Giá trị}; Ví dụ: int a[5] = {11}; Giá trị 11 11 11 11 113 Chỉ số 0 1 2 3 4 Khai báo mảng Cách 2: Con trỏ Ý nghĩa: Khi ta khai báo một mảng với kiểu dữ liệu bất kì (int, float, char,…) thì tên của mảng thực chất là một hằng địa chỉ của phần tử đầu tiên. Cú pháp: < Kiểu dữ liệu > *< Tên mảng >; Ví dụ : int *p; // khai bao con tro p int b[100]; p = new int [100]; p = b; // p tro vao phan tu 0 cua mang b Với cách viết như trên thì ta có thể hiểu các cách viết sau là tương đương : p[i] *(p + i) b[i] *(b+i) Cấp phát bộ nhớ: new Giải phóng bộ nhớ: delete4 Các thao tác Nhập / xuất Tìm kiếm Sắp xếp Kiểm tra Đếm Thêm / xóa Tính tổng, giá trị trung bình, …5 Bài tập ứng dụng 1. Nhập vào ngày tháng năm, kiểm tra xem ngày tháng năm có hợp lệ không 2. Phát sinh 2 mảng số nguyên tăng dần: a và b, nối thành mảng c sao cho c cũng tăng dần 3. Thống kê số lượng các phần tử có trong mảng số nguyên có 10.000 phần tử (các phần tử trong mảng được phát sinh ngẫu nhiên có giá trị từ 0 đến 30.000) 4. Cho biết phần tử nào xuất hiện nhiều nhất trong mảng số nguyên có 10.000 phần tử (các phần tử trong mảng được phát sinh ngẫu nhiên có giá trị từ 0 đến 30.000)6 Chèn phần tử vào mảng Cho mảng sau: 12 5 7 9 21 38 0 1 2 3 4 5 Hãy trình bày từng bước chèn 111 vào vị trí 3 của mảng 111 12 5 7 9 21 38 0 1 2 3 4 57 Chèn phần tử vào mảng Hãy viết hàm chèn phần tử có giá trị x vào vị trí k cho trước trong mảng a kích thước n theo mẫu sau: void ChenX(int a[], int &n, int x, int k);8 Bài tập áp dụng Hãy viết hàm chèn phần tử có giá trị x vào sau phần tử có giá trị nhỏ nhất có trong mảng a, kích thước n (giả sử mảng không có giá trị trùng nhau)9 Xóa phần tử khỏi mảng Cho mảng sau: 12 5 7 9 21 38 0 1 2 3 4 5 Hãy trình bày từng bước xóa phần tử tại vị trí 3 trong mảng 12 5 7 9 21 38 0 1 2 3 4 510 Xóa phần tử khỏi mảng Hãy viết hàm xóa phần tử tại vị trí k cho trước trong mảng a kích thước n theo mẫu sau: void XoaTaiVTk(int a[], int &n, int k);11 Bài tập áp dụng Hãy viết hàm xóa phần tử x (nếu có) trong mảng a, kích thước n (giả sử mảng không có giá trị trùng nhau)12
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình nâng cao Kỹ thuật lập trình Bài giảng Kỹ thuật lập trình nâng cao Khai báo mảng Chèn phần tử vào mảng Xóa phần tử khỏi mảngTài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 270 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 212 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 198 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 170 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 154 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 120 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 110 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 107 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 93 0 0