Ngôn ngữ lập trình C++1 - Tuần 7

Chia sẻ: Quyen Duy | Ngày: | Loại File: PPT | Số trang:19

2
483
lượt xem
214
download

Ngôn ngữ lập trình C++1 - Tuần 7

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mảng là một dãy ô nhớ liên tiếp nhau và có cùng kiểu dữ liệu.

Chủ đề:
Lưu

Nội dung Text: Ngôn ngữ lập trình C++1 - Tuần 7

  1. NGÔN NGỮ LẬP TRÌNH C++ 1 Tuần 7
  2. Nội dung trình bày • Khái niệm mảng • Truy cập mảng • Khởi gán giá trị cho mảng • Duyệt mảng • Mảng một phần • Tìm kiếm trên mảng
  3. Khái niệm mảng • Mảng là một dãy các ô nhớ liên tiếp nhau và có cùng kiểu dữ liệu. • Ví dụ: – Một mảng các số nguyên – Một mảng lưu giữ điểm của các sinh viên Hình ảnh một biến Hình ảnh mảng
  4. Khai báo mảng • Cú pháp: [số lượng phần tử]; • Ví dụ: – float x[8]; Khai báo mảng x có 8 phần tử có cùng kiểu float, trong bộ nhớ sẽ cấp phát 8 ô nhớ liền nhau và có kiểu float x – int diem[20]; // khai báo mảng diem có 20 phần tử kiểu int – char kt[15]; // khai báo mảng kt có 15 phần tử kiểu char
  5. Truy cập đến phần tử của mảng • Để có thể truy cập đến một phần tử nào đó của mảng ta cần cung cấp tên mảng và chỉ số của phần tử. Chỉ số của mảng bắt đầu được đánh số từ 0. 0 1 2 3 4 5 6 7 x – Ví dụ: Khi ta viết x[4] tức là ta đang truy cập đến phần tử thứ 5 của mảng. • Về mặt bản chất, một phần tử của mảng có thể được sử dụng như một biến bình thường.
  6. Ví dụ truy nhập mảng • Giả sử mảng x có giá trị như sau 16.0 12.0 28.0 26.0 -2.5 12.0 14.0 54.7 x • Các câu lệnh truy nhập mảng – // Hiển thị giá trị x[0] cout
  7. Ví dụ truy nhập mảng • Chỉ số mảng có thể là một biểu thức có giá trị nguyên. • Ví dụ: cho i = 5 và mảng 16.0 12.0 28.0 26.0 -2.5 12.0 14.0 54.7 x • Các câu lệnh – cout
  8. Khai báo và khởi tạo mảng • Cũng giống như biến thông thường, mảng có thể được khởi tạo giá trị ngay khi khai báo – int diem[7] = {100, 73, 88, 84, 40, 97}; 100 73 88 84 40 97 ? diem – char xep_loai[] = {‘A’, ‘C’, ‘B’, ‘B’, ‘F’, ‘A’}; A C B B F A Xep_loai – char ten[7] = {‘M’, ‘I’, ‘N’, ‘H’}; M I N H ? ? ? ten
  9. Duyệt mảng • Duyệt ngẫu nhiên: Các phần tử được truy cập theo một thứ tự bất kỳ. – Ví dụ: cin>>x[2]; cin>>x[5]; cin>>x[0]; x truy truy truy cập cập cập • Duyệt tuần tự (hay dùng): Duyệt từ phần tử đầu mảng đến phần tử cuối. – Thường sử dụng vòng lặp theo chỉ số mảng (for). x
  10. Ví dụ duyệt mảng • Nhập giá trị cho các một mảng số nguyên gồm 10 phần tử: int songuyen[10]; for (int i = 0; i < 10; i++) { cout
  11. Ví dụ duyệt mảng • Tính tổng các phần tử của một mảng số thực: double x[5] = {5.6, 4.5, 2.3, 9.1, 4.2}; double tong = 0; for (int i = 0; i < 5; i++) tong = tong + x[i]; cout
  12. Mảng một phần • Sẽ có những bài toán với số lượng phần tử không cố định làm cho người lập trình khó xác định được ngay số phần tử của mảng. • Với những bài toán này ta cần phải ước lượng và khai báo số phần tử tối đa có thể có. Sau đó sử dụng một phần số lượng phần tử của mảng. Đây chính là mảng một phần.
  13. Mảng một phần • Nhược điểm của mảng một phần là sẽ có một số vùng nhớ không dùng đến nhưng vấn chiếm tài nguyên của hệ thống. • Ví dụ: Bài toán quản lý điểm sinh viên trong một lớp. Ta không xác định trước được một lớp có bao nhiêu sinh viên, nhưng ta biết rằng một lớp học chỉ có thể có tối đa 100 sinh viên. Vậy ta cần phải khai báo một mảng điểm gồm 100 phần tử.
  14. Mảng một phần • Với bài toán phải sử dụng đến mảng một phần ta cần chú ý phải thêm 1 biến làm nhiệm vụ đến số phần tử thực tế đang được sử dụng trong mảng. • Chú ý: Ta không được phép viết như sau: int n; cin>>n; float a[n];
  15. Nhập dữ liệu cho mảng một phần • Ví dụ: int n; float diem[100]; cout > n; for (int i = 0; i < n; i++) { cout
  16. Tìm kiếm trên mảng • Thực tế bài toán tìm kiếm trên mảng cũng sử dụng phương pháp duyệt mảng. Tuy nhiên trong lúc duyệt ta sẽ trích rút ra những thông tin cần tìm kiếm. • Ví dụ: – Bài toán tìm vị trí của phần tử đầu tiên mang giá trị 5 trong một mảng số nguyên. – Bài toán tìm số lớn nhất trong mảng.
  17. Ví dụ tìm kiếm trên mảng • Bài toán tìm vị trí của phần tử đầu tiên mang giá trị 5 trong một mảng số nguyên. for (int i = 0; i < n; i++) if (x[i] == 5) { cout
  18. Ví dụ tìm kiếm trên mảng • Bài toán tìm số lớn nhất trong mảng số nguyên int max = x[0]; for (int i = 1; i < n; i++) if (max < x[i]) max = x[i]; cout
  19. Làm bài tập • Các bài tập về duyệt mảng – Tính tổng các phần tử của mảng. – Đếm xem trong mảng có bao nhiêu số lẻ, bao nhiêu số chẵn • Các bài tập về tìm kiếm trên mảng – Đưa ra màn hình phần tử lớn nhất và nhỏ nhất của mảng. – Tìm trong mảng số nguyên có những số nào là số nguyên tố thì hiện lên màn hình. • Chú ý: Các bài tập trên nên sử dụng mảng một phần.

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản