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ả:
CamQuyt
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ả:
CamDua
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