Mảng được sử dụng rất phổ biến trong những bài toán thực tế, chẳng hạn như lưu danh sách học sinh, danh sách sản phẩm...
1/ Khai báo
Cú pháp khai báo một mảng như sau:
type name[length];
Trong đó:
type
: kiểu dữ liệu của các phần tử trong mảng nhưstring
,int
,boolean
... các em có thể xem lại ở bài "Các kiểu dữ liệu trong C++"name
: tên của mảng - là một biến nên cách đặt tên giống như các em đã học ở bài "Biến trong C++"length
: số phần tử của mảng, hay còn gọi là chiều dài của mảng
Ví dụ 1:
string hocSinh[4];
hocSinh = { "Cam", "Quyt", "Buoi", "Chuoi" };
Như ví dụ trên thì mỗi phần tử có type
(kiểu dữ liệu) là string
, name
(tên của mảng) là hocSinh
, length
(số phần tử của mảng) là 4
(Cam
, Quyt
, Buoi
, Chuoi
)
Ví dụ 2, khai báo mảng với các phần tử kiểu int:
int myNum[3] = {10, 20, 30};
2/ Truy cập các phần tử trong mảng
Cú pháp truy cập, tương tự cách truy cập các phần tử trong chuỗi mà các em đã học
name[index];
Trong đó:
name
: tên của mảngindex
: số chỉ mục của phần tử, số chỉ mục của phần tử mảng tiếp theo = số chỉ mục của phần tử đứng liền kề ở trước + 1
Ví dụ 3:
string hocSinh[4];
hocSinh = { "Cam", "Quyt", "Buoi", "Chuoi" };
cout << hocSinh[0] << "/n";
out << hocSinh[1];
Kết quả:
Cam
Quyt
3/ Thay đổi giá trị phần tử mảng
Cú pháp:
name[index] = giá trị mới;
Ví dụ 4:
string hocSinh[4];
hocSinh = { "Cam", "Quyt", "Buoi", "Chuoi" };
cout << hocSinh[0] << "/n";
hocSinh[0] = "Dua";
cout << hocSinh[0];
Kết quả:
Cam
Dua
4/ Duyệt mảng
Bài toán: giả sử đã có danh sách 1000 học sinh, bây giờ các em hay in danh sách đó ra màn hình.
Cách thực hiện 1, gõ 1000 lần cout << name[index]
, ví dụ:
string hocSinh[1000];
hocSinh = { "Cam", "Quyt", "Buoi", "Chuoi", ..., "Phan tu 1000" };
cout << hocSinh[0] << "/n";
cout << hocSinh[1] << "/n";
cout << hocSinh[2] << "/n";
...
cout << hocSinh[999];
Cách thực hiện 2, duyệt mảng với vòng lặp for
đã học, ví dụ:
#include <iostream>
#include <string>
using namespace std;
int main() {
string hocSinh[1000];
hocSinh = { "Cam", "Quyt", "Buoi", "Chuoi", ..., "Phan tu 1000" };
for (int i = 0; i < 1000; i++) {
cout << hocSinh[i] << "/n";
}
return 0;
}
Gợi ý:
- Các em hãy dùng vòng lặp for
để tạo mảng 1000 phần tử vì dòng 7 ở ví dụ trên là khai báo sai
- Duyệt mảng với vòng lặp while