[Bài 6 b] Các bài toán cơ bản với mảng 1 chiều

by | Apr 28, 2025 | C/C++, Ngôn ngữ lập trình | 0 comments

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]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.