Bài Tập C++ Về Mảng Có Lời Giải

Tìm Kiếm Phần Tử Trong Mảng

Mảng là một trong những cấu trúc dữ liệu cơ bản và quan trọng nhất trong C++. Nắm vững cách khai báo, truy cập và thao tác với mảng là bước đệm vững chắc cho hành trình chinh phục ngôn ngữ lập trình C++. Bài viết này sẽ cung cấp cho bạn những kiến thức nền tảng về mảng trong C++ cùng với những bài tập thực hành có lời giải chi tiết, giúp bạn tự tin áp dụng mảng vào các dự án lập trình của mình.

Tìm Hiểu Về Mảng Trong C++

Mảng là tập hợp các phần tử có 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 truy cập thông qua chỉ số (index), bắt đầu từ 0.

Các Bài Tập C++ Về Mảng Có Lời Giải

Dưới đây là một số Bài Tập C++ Về Mảng Có Lời Giải, từ cơ bản đến nâng cao, giúp bạn luyện tập và củng cố kiến thức:

Bài Tập 1: Tìm Phần Tử Lớn Nhất Trong Mảng

Yêu cầu: Viết chương trình C++ nhập vào một mảng số nguyên gồm n phần tử, sau đó tìm và in ra phần tử lớn nhất trong mảng.

Lời giải:

#include <iostream>

using namespace std;

int main() {
  int n;
  cout << "Nhap so phan tu cua mang: ";
  cin >> n;

  int arr[n];
  cout << "Nhap cac phan tu cua mang: ";
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }

  int max = arr[0];
  for (int i = 1; i < n; i++) {
    if (arr[i] > max) {
      max = arr[i];
    }
  }

  cout << "Phan tu lon nhat trong mang la: " << max << endl;

  return 0;
}

Bài Tập 2: Sắp Xếp Mảng Theo Thứ Tự Tăng Dần

Yêu cầu: Viết chương trình C++ nhập vào một mảng số nguyên gồm n phần tử, sau đó sắp xếp mảng theo thứ tự tăng dần và in ra mảng đã sắp xếp.

Lời giải:

#include <iostream>

using namespace std;

int main() {
  int n;
  cout << "Nhap so phan tu cua mang: ";
  cin >> n;

  int arr[n];
  cout << "Nhap cac phan tu cua mang: ";
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }

  for (int i = 0; i < n - 1; i++) {
    for (int j = i + 1; j < n; j++) {
      if (arr[i] > arr[j]) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
      }
    }
  }

  cout << "Mang da sap xep tang dan: ";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;

  return 0;
}

Bài Tập 3: Tìm Kiếm Phần Tử Trong Mảng

Yêu cầu: Viết chương trình C++ nhập vào một mảng số nguyên gồm n phần tử và một giá trị x. Kiểm tra xem x có tồn tại trong mảng hay không. Nếu có, in ra vị trí đầu tiên tìm thấy x trong mảng. Nếu không, in ra -1.

Tìm Kiếm Phần Tử Trong MảngTìm Kiếm Phần Tử Trong Mảng

Lời giải:

#include <iostream>

using namespace std;

int main() {
  int n, x;
  cout << "Nhap so phan tu cua mang: ";
  cin >> n;

  int arr[n];
  cout << "Nhap cac phan tu cua mang: ";
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }

  cout << "Nhap gia tri can tim: ";
  cin >> x;

  int index = -1;
  for (int i = 0; i < n; i++) {
    if (arr[i] == x) {
      index = i;
      break;
    }
  }

  if (index != -1) {
    cout << "Vi tri dau tien tim thay " << x << " trong mang la: " << index << endl;
  } else {
    cout << x << " khong ton tai trong mang." << endl;
  }

  return 0;
}

Kết Luận

Bài viết đã giới thiệu đến bạn những kiến thức cơ bản về mảng trong C++ và cung cấp một số bài tập thực hành có lời giải chi tiết. Hy vọng rằng qua bài viết này, bạn đã nắm vững hơn về cách khai báo, truy cập và thao tác với mảng, từ đó tự tin áp dụng vào các dự án lập trình của mình. Chúc bạn thành công!

Câu hỏi thường gặp

Mảng trong C++ có thể chứa các kiểu dữ liệu nào?

Mảng trong C++ có thể chứa bất kỳ kiểu dữ liệu nào, bao gồm kiểu dữ liệu nguyên thủy (int, float, double, char, bool), kiểu dữ liệu do người dùng định nghĩa (struct, class), và thậm chí là mảng khác (mảng nhiều chiều).

Làm thế nào để khai báo mảng hai chiều trong C++?

Để khai báo mảng hai chiều trong C++, bạn sử dụng cú pháp sau:

kieu_du_lieu ten_mang[so_hang][so_cot];

Ví dụ:

int matrix[3][4]; // Khai báo mảng hai chiều matrix có 3 hàng và 4 cột.

Sự khác nhau giữa mảng tĩnh và mảng động trong C++ là gì?

Mảng tĩnh có kích thước cố định được xác định tại thời điểm biên dịch, trong khi mảng động có kích thước linh hoạt có thể thay đổi tại thời điểm chạy.

Làm cách nào để xóa một phần tử khỏi mảng trong C++?

Trong C++, không có hàm có sẵn để xóa trực tiếp một phần tử khỏi mảng. Thay vào đó, bạn có thể:

  • Gán giá trị null cho phần tử muốn xóa.
  • Sao chép các phần tử còn lại vào một mảng mới mà không có phần tử muốn xóa.
  • Sử dụng danh sách liên kết hoặc các cấu trúc dữ liệu khác để quản lý việc thêm/xóa phần tử hiệu quả hơn.

Có thể sử dụng vòng lặp foreach để duyệt qua mảng trong C++ không?

Có, bạn có thể sử dụng vòng lặp foreach để duyệt qua mảng trong C++. Ví dụ:

int arr[] = {1, 2, 3, 4, 5};

for (int x : arr) {
  cout << x << " ";
}

Gợi ý bài viết khác:

Liên hệ

Khi cần hỗ trợ hãy liên hệ Số Điện Thoại: 02033846993, Email: [email protected] Hoặc đến địa chỉ: X2FW+GGM, Cái Lân, Bãi Cháy, Hạ Long, Quảng Ninh, Việt Nam. Chúng tôi có đội ngũ chăm sóc khách hàng 24/7.