Hướng dẫn giải bài tập mảng 1 chiều C++ có lời giải chi tiết

bởi

trong

Mảng một chiều là một cấu trúc dữ liệu cơ bản trong C++ cho phép lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu. Việc nắm vững cách khai báo, truy cập và thao tác với mảng một chiều là rất quan trọng để bạn có thể giải quyết các bài toán lập trình hiệu quả. Bài viết này sẽ cung cấp cho bạn kiến thức chi tiết về mảng một chiều trong C++ và hướng dẫn giải các bài tập cơ bản kèm theo lời giải dễ hiểu.

Khai báo mảng một chiều trong C++

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

<kiểu dữ liệu> <tên mảng>[<kích thước>];

Trong đó:

  • <kiểu dữ liệu>: Kiểu dữ liệu của các phần tử trong mảng (ví dụ: int, float, char,…)
  • <tên mảng>: Tên của mảng, tuân theo quy tắc đặt tên trong C++.
  • <kích thước>: Số lượng phần tử tối đa mà mảng có thể chứa.

Ví dụ:

int numbers[10]; // Khai báo mảng số nguyên "numbers" có 10 phần tử.
float heights[5]; // Khai báo mảng số thực "heights" có 5 phần tử.
char characters[20]; // Khai báo mảng kí tự "characters" có 20 phần tử. 

Truy cập phần tử trong mảng một chiều

Bạn có thể truy cập đến từng phần tử của mảng thông qua chỉ số của nó. Chỉ số của phần tử đầu tiên trong mảng luôn là 0, và chỉ số của phần tử cuối cùng là (kích thước mảng – 1).

Ví dụ:

int numbers[5] = {1, 2, 3, 4, 5};
cout << numbers[0]; // In ra phần tử đầu tiên của mảng, có giá trị là 1.
cout << numbers[4]; // In ra phần tử cuối cùng của mảng, có giá trị là 5.

Duyệt qua các phần tử của mảng

Bạn có thể sử dụng vòng lặp for để duyệt qua tất cả các phần tử của mảng.

Ví dụ:

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

// Duyệt và in ra các phần tử của mảng.
for (int i = 0; i < 5; i++) {
  cout << numbers[i] << " ";
}

Bài tập mảng 1 chiều C++ có lời giải

Bài tập 1: Tìm giá trị lớn nhất trong mảng

Đề bài: Viết chương trình nhập vào một mảng số nguyên gồm n phần tử. Tìm và in ra giá trị lớn nhất trong mảng.

Lời giải:

#include <iostream>
using namespace std;

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

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

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

  cout << "Gia tri lon nhat trong mang la: " << max_value << endl;

  return 0;
}

Bài tập 2: Tính tổng các phần tử trong mảng

Đề bài: Viết chương trình nhập vào một mảng số thực gồm n phần tử. Tính và in ra tổng các phần tử trong mảng.

Lời giải:

#include <iostream>
using namespace std;

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

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

  float sum = 0;
  for (int i = 0; i < n; i++) {
    sum += numbers[i];
  }

  cout << "Tong cac phan tu trong mang la: " << sum << endl;

  return 0;
}

Bài tập 3: Đếm số lần xuất hiện của một giá trị trong mảng

Đề bài: Viết chương trình nhập vào một mảng số nguyên gồm n phần tử và một giá trị x. Đếm số lần xuất hiện của giá trị x trong mảng.

Lời giải:

#include <iostream>
using namespace std;

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

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

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

  int count = 0;
  for (int i = 0; i < n; i++) {
    if (numbers[i] == x) {
      count++;
    }
  }

  cout << "Gia tri " << x << " xuat hien " << count << " lan trong mang." << endl;

  return 0;
}

Kết luận

Bài viết đã cung cấp cho bạn kiến thức cơ bản về mảng một chiều trong C++, bao gồm cách khai báo, truy cập phần tử và duyệt mảng. Bên cạnh đó, bài viết cũng giới thiệu một số Bài Tập Mảng 1 Chiều C++ Có Lời Giải chi tiết, giúp bạn luyện tập và củng cố kiến thức. Việc thành thạo mảng một chiều sẽ là nền tảng vững chắc để bạn tiếp cận các cấu trúc dữ liệu phức tạp hơn trong C++.

FAQ

1. Mảng một chiều trong C++ có thể thay đổi kích thước sau khi khai báo không?

Không, kích thước của mảng một chiều trong C++ được cố định sau khi khai báo.

2. Làm thế nào để sắp xếp các phần tử trong mảng một chiều?

Bạn có thể sử dụng các thuật toán sắp xếp như Bubble Sort, Insertion Sort, Selection Sort,… để sắp xếp các phần tử trong mảng.

3. Có thể lưu trữ các phần tử có kiểu dữ liệu khác nhau trong cùng một mảng một chiều không?

Không, tất cả các phần tử trong mảng một chiều C++ phải có cùng kiểu dữ liệu.

Các câu hỏi khác bạn có thể quan tâm:

Cần hỗ trợ?

Liên hệ ngay với chúng tôi:

  • Số điện thoại: 02033846993
  • Email: [email protected]
  • Địa chỉ: X2FW+GGM, Cái Lân, Bãi Cháy, Hạ Long, Quảng Ninh, Việt Nam

Đội ngũ hỗ trợ khách hàng của chúng tôi luôn sẵn sàng giải đáp mọi thắc mắc của bạn 24/7.