Xét bài toán:
Nhập điểm thi (số nguyên) môn Tin đại cương cho lớp gồm 50 sinh viên rồi đưa ra số lượng sinh viên phải học lại
Phương pháp: Điểm của mỗi thí sinh là một biến
- Tên biến là tên sinh viên. Ví dụ:
int An, Anh, Binh1, Binh2, Cương,... Van, Viet;
- Tên biến dạng “dx” với x là chỉ số thứ tự của SV trong lớp. Ví dụ:
int d1, d2, d3,..., d50;
Cách giải như trên không hợp lí do có quá nhiều biến và khó khăn trong việc thao tác duyệt toàn bộ danh sách – Số SV học lại: if(d1<5) d++; if(d2<5) d++;... if(d50<5) d++;
Đồng thời các biến có cùng chung một ý nghĩa , tính chất. Trong thực tế, cũng thường gặp các đối tượng có tính chất chung như: Tháng trong năm, Điểm trung bình của sinh viên trong lớp,… Chúng ta có thể biểu diễn các đối tượng dưới dạng được đặc trưng bởi tên nhóm và số thứ tự – Ví dụ: Tháng 3 trong năm: Tháng 3; Sinh viên thứ 17 trong lớp: Sinh viên 17;… Trong C++ cung cấp kiểu dữ liệu mảng một chiều để biểu diễn các đối tượng này.
Khái niệm mảng một chiều
Mảng một chiều là một dãy hữu hạn các phần tử có cùng kiểu.
Mảng được đặt tên và mỗi phần tử mang một chỉ số.
Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh chỉ số các phần tử.
Với mảng một chiều ta quan tâm đến:
- Tên kiểu mảng một chiều.
- Số lượng phần tử trong mảng.
- Kiểu dữ liệu của phần tử.
- Cách khai báo biến mảng.
- Cách tham chiếu đến phần tử.
Ví dụ: d7: điểm thi tin của sinh viên thứ 7 trong lớp
Khai báo mảng một chiều
Kiểu_dữ_liệu Tên_Mảng[Kích thước];
- Kiểu_dữ_liệu: Kiểu của các phần tử trong mảng (nguyên, thực, ký tự, chuỗi,…)
- Tên_mảng: Tên của mảng
- Kích_thước: Số phần tử trong mảng
Ví dụ:
int DiemTin[50];// khai báo mảng 50 phần tử có kiểu dữ liệu int
float A[10]; //mảng 10 phần tử kiểu số thực
Cấp phát bộ nhớ cho mảng
Các phần tử trong mảng được cấp phát các ô nhớ kế tiếp nhau trong bộ nhớ
Kích thước của mảng bằng kích thước một phần tử nhân với số phần tử
Ví dụ:
int A[10];//Mảng A gồm 10 phần tử nguyên
![](https://vncode.tech/wp-content/uploads/2022/10/Anh1-1024x110.png)
Kích thước của mảng A: bytes
Truy nhập phần tử của mảng
Ngôn ngữ C đánh chỉ số các phần tử trong mảng bắt đầu từ 0
Các phần tử của mảng được truy nhập thông qua tên mảng và chỉ số của phần tử của phần tử trong mảng
Tên_Mang[Chỉ_số_phần_tử];
Ví dụ:
int A[10];//Mảng A gồm 10 phần tử nguyên
![](https://vncode.tech/wp-content/uploads/2022/10/Anh3-1024x260.png)
A[0] = 7;
A[1] = 5;
A[4] = 7;
int N = A[1] + A[4];//N = 12