Hôm nay, chúng ta tiếp tục luyện tập sâu hơn với mảng 1 chiều.
Bạn sẽ học:
- Đếm số lượng phần tử thỏa mãn điều kiện.
- Tìm và liệt kê số nguyên tố trong mảng.
- Hoán vị hai phần tử trong mảng.
- Một số bài tập thực hành để thành thạo kỹ năng duyệt và xử lý mảng.
1. Đếm số lượng phần tử thỏa mãn điều kiện
Ví dụ: Đếm số phần tử chẵn trong mảng
int dem = 0;
for (int i = 0; i < n; i++) {
if (a[i] % 2 == 0) {
dem++;
}
}
cout << "So phan tu chan la: " << dem << endl;
2. Kiểm tra số nguyên tố
- Một số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó.
- Hàm kiểm tra số nguyên tố:
bool laNguyenTo(int n) {
if (n < 2) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
3. Tìm và liệt kê số nguyên tố trong mảng
for (int i = 0; i < n; i++) {
if (laNguyenTo(a[i])) {
cout << a[i] << " ";
}
}
Ví dụ 1: Đếm số lượng số nguyên tố trong mảng
int demNT = 0;
for (int i = 0; i < n; i++) {
if (laNguyenTo(a[i])) {
demNT++;
}
}
cout << "So luong so nguyen to: " << demNT << endl;
4. Hoán vị hai phần tử trong mảng
- Để đổi chỗ hai phần tử
a[i]vàa[j]:
int temp = a[i]; a[i] = a[j]; a[j] = temp;
Ví dụ 2: Đổi chỗ phần tử đầu tiên và cuối cùng trong mảng
swap(a[0], a[n-1]);
(Ghi chú: swap() là hàm có sẵn trong C++)
5. Một số bài tập thực hành
Bài 1: Đếm số lượng phần tử âm trong mảng
Bài 2: Tìm số nguyên tố lớn nhất trong mảng
Gợi ý:
- Khởi tạo
maxNT = -1. - Duyệt từng phần tử: nếu là số nguyên tố và lớn hơn
maxNT, thì cập nhật.
Bài 3: Đổi chỗ phần tử lớn nhất với phần tử đầu tiên của mảng
Gợi ý:
- Tìm chỉ số phần tử lớn nhất.
- Dùng
swap()để đổi chỗ nó với phần tửa[0].
Bài 4: Viết chương trình đảo ngược toàn bộ mảng
Gợi ý:
- Duyệt từ đầu và cuối vào giữa, đổi chỗ từng cặp phần tử.
for (int i = 0; i < n/2; i++) {
swap(a[i], a[n-1-i]);
}
6. Một số lưu ý
- Khi kiểm tra điều kiện đặc biệt (chẵn, lẻ, nguyên tố), luôn chú ý kiểm tra điều kiện đầu tiên (n < 2, âm, 0…).
- Khi đổi chỗ, đảm bảo dùng biến tạm hoặc hàm
swap()để tránh mất dữ liệu. - Luyện tập nhiều sẽ giúp bạn xử lý mảng cực kỳ nhanh chóng!
Tổng kết
Hôm nay bạn đã học:
- Cách đếm phần tử thỏa mãn điều kiện.
- Cách kiểm tra số nguyên tố trong mảng.
- Hoán vị phần tử trong mảng.
- Một số thao tác cơ bản để xử lý bài tập thực tế với mảng.
