[Bài 6] Mảng 1 chiều cơ bản trong C++

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

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ật max = 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ật min = 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ử!