Bài giảng Kỹ thuật lập trình cơ bản (C++) - Chương 4 trang bị cho người học những kiến thức về mảng một chiều. Các nội dung cụ thể trình bày trong chương này: Dữ liệu kiểu mảng, số phần tử mảng, khởi tạo giá trị cho mảng, một số thao tác trên mảng,... Mời các bạn cùng tham khảo.
Kỹ thuật lập trình Chương 4: Mảng chiều Trường Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin CHƯƠNG MẢNG MỘT CHIỀU GV: ThS TRẦN NGUYỄN ANH CHI TpHCM, 02/2011 Đặt vấn đề Ví dụ Chương trình cần lưu trữ số nguyên? => Khai báo biến int a1, a2, a3; Chương trình cần lưu trữ 100 số nguyên? => Khai báo 100 biến kiểu số nguyên! Người dùng muốn nhập n số nguyên? => Không thực được! Giải pháp Kiểu liệu cho phép lưu trữ dãy số nguyên GV: ThS Trần Nguyễn Anh Chi Kỹ thuật lập trình Chương 4: Mảng chiều Dữ liệu kiểu mảng Khái niệm Là kiểu liệu có cấu trúc người lập trình định nghĩa Biểu diễn dãy biến có kiểu Ví dụ: dãy số nguyên, dãy ký tự… Kích thước xác định khai báo NNLT C định khối nhớ liên tục cho biến kiểu mảng Dữ liệu kiểu mảng (tt) Khai báo []; Ví dụ int Mang1Chieu[10]; Mang1Chieu Chỉ số -1 -2 -1 Giá trị Ví dụ float a[7]; a 1.2 -1 2.5 3.7 8.1 -9 5.2 Chỉ số Giá trị GV: ThS Trần Nguyễn Anh Chi Kỹ thuật lập trình Chương 4: Mảng chiều Số phần tử mảng Phải xác định cụ thể số phần tử lúc khai báo, không sử dụng biến chưa có giá trị int n1; int a[n1]; //sai int n2 = 10; int a[n2]; Nên sử dụng thị tiền xử lý #define để định nghĩa số phần tử mảng #define n3 10 int a[n3]; // int a[10]; Khởi tạo giá trị cho mảng Khởi tạo giá trị cho phần tử mảng int a[4] = {123, 456, -789, 100}; a 123 456 -789 100 Khởi tạo giá trị cho số phần tử đầu mảng int a[4] = {123, -456}; a 123 -456 0 GV: ThS Trần Nguyễn Anh Chi Kỹ thuật lập trình Chương 4: Mảng chiều Khởi tạo giá trị cho mảng(tt) Khởi tạo giá trị cho phần tử mảng int a[4] = {0}; a 0 0 Tự động xác định số lượng phần tử mảng int a[] = {123, -456, 789, 100}; a 123 -456 789 100 Truy xuất đến phần tử mảng Truy xuất thơng qua số Ví dụ: cho mảng sau: int a[4]; 11 22 33 44 Các truy xuất: Hợp lệ: a[0], a[1], a[2], a[3] Không Hợp lệ: a[-2], a[-1], a[4], a[5]… Chỉ số không hợp lệ thường cho kết không mong muốn GV: ThS Trần Nguyễn Anh Chi Kỹ thuật lập trình Chương 4: Mảng chiều Truy xuất đến phần tử (tt) i= i= i= i= i= Một số thao tác mảng Nhập mảng Xuất mảng Đếm, tính tổng, tính trung bình Tìm kiếm Kiểm tra mảng thỏa điều kiện cho trước Sắp xếp Tách / ghép mảng Chèn / xóa 10 GV: ThS Trần Nguyễn Anh Chi Kỹ thuật lập trình Chương 4: Mảng chiều Nhập mảng Yêu cầu Cho phép nhập mảng a, số lượng phần tử n Ý tưởng Cho trước mảng có số lượng phần tử MAX Nhập số lượng phần tử thực n mảng Nhập phần tử cho mảng từ số đến n – 1 … n 4- MAX - … … 11 Nhập mảng (tt) #define MAX 100 void NhapMang(int a[], int n) { int i; for (i=0; i