Hôm nay chúng ta sẽ làm quen với một trong những cấu trúc dữ liệu cực kỳ quan trọng trong lập trình: Mảng (Array).
Bạn sẽ học:
- Cách khai báo, nhập, xuất mảng.
- Duyệt mảng, tính tổng các phần tử.
- Bài tập tìm phần tử lớn nhất, nhỏ nhất trong mảng.
1. Mảng là gì?
- Mảng là danh sách các phần tử cùng kiểu dữ liệu, được lưu trữ liên tiếp trong bộ nhớ.
- Mỗi phần tử trong mảng được đánh chỉ số (index), bắt đầu từ 0.
Ví dụ: Một mảng 5 số nguyên:
Chỉ số: 0 1 2 3 4 Giá trị: 10 20 30 40 50
2. Khai báo mảng
Cú pháp:
kieu_du_lieu ten_mang[so_phan_tu];
Ví dụ:
int a[100]; // Mảng a có thể chứa tối đa 100 số nguyên
3. Nhập và xuất mảng
- Nhập mảng: Dùng vòng lặp
forđể nhập từng phần tử.
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
- Xuất mảng: Dùng vòng lặp
forđể in ra từng phần tử.
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
Ví dụ 1: Nhập và xuất một mảng số nguyên
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Nhap so luong phan tu: ";
cin >> n;
int a[n];
cout << "Nhap cac phan tu cua mang:\n";
for (int i = 0; i < n; i++) {
cin >> a[i];
}
cout << "Mang vua nhap la: ";
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
4. Duyệt mảng và tính tổng các phần tử
- Duyệt qua từng phần tử, cộng dồn giá trị.
int tong = 0;
for (int i = 0; i < n; i++) {
tong += a[i];
}
cout << "Tong cac phan tu: " << tong << endl;
Ví dụ 2: Tính tổng các phần tử của mảng
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int tong = 0;
for (int i = 0; i < n; i++) {
tong += a[i];
}
cout << "Tong cac phan tu trong mang: " << tong << endl;
return 0;
}
5. Bài tập thực hành
Bài 1: Tìm phần tử lớn nhất trong mảng
Gợi ý:
- Khởi tạo
max = a[0]. - Duyệt từ phần tử thứ 1 trở đi, nếu
a[i] > max, cập nhậtmax = a[i].
int max_val = a[0];
for (int i = 1; i < n; i++) {
if (a[i] > max_val) {
max_val = a[i];
}
}
cout << "Phan tu lon nhat la: " << max_val << endl;
Bài 2: Tìm phần tử nhỏ nhất trong mảng
Gợi ý:
- Khởi tạo
min = a[0]. - Duyệt từ phần tử thứ 1 trở đi, nếu
a[i] < min, cập nhậtmin = a[i].
int min_val = a[0];
for (int i = 1; i < n; i++) {
if (a[i] < min_val) {
min_val = a[i];
}
}
cout << "Phan tu nho nhat la: " << min_val << endl;
6. Một số lưu ý khi làm việc với mảng
- Chỉ số mảng luôn bắt đầu từ 0 đến n-1.
- Không được truy cập ngoài phạm vi mảng (ví dụ truy cập
a[n]sẽ bị lỗi). - Kích thước mảng trong C++ cần xác định rõ ràng nếu dùng mảng tĩnh.
Tổng kết
Hôm nay bạn đã học:
- Cách khai báo, nhập, xuất một mảng trong C++.
- Cách tính tổng các phần tử mảng.
- Cách tìm phần tử lớn nhất và nhỏ nhất.
👉 Buổi sau, chúng ta sẽ học:
- Các bài toán cơ bản với mảng 1 chiều: đếm số lượng, kiểm tra số nguyên tố trong mảng, hoán đổi vị trí phần tử!
