Bài tập mảng trong C++

Mảng là một tập hợp dữ liệu có cùng kiểu. Mảng trong C++ là một cấu trúc dữ liệu cơ bản và quan trọng.Trong chương này, chúng ta sẽ tìm hiểu các bài tập và các chương trình C++ liên quan tới mảng, từ chương trình đơn giản nhất để in mảng, tính tổng giá trị các phần tử trong mảng, v,v. cho đến các bài tập liên quan đến nhiều mảng trong C++.

Bài tập mảng trong C++

1. Bài 1

Đề bài: Viết chương trình C++ in các phần của của một mảng ra màn hình.

Chương trình C++ này sẽ giúp bạn hiểu làm thế nào để in một mảng trong C++. Bạn cần khai báo và định nghĩa một mảng và sau đó sử dụng một vòng lặp để duyệt qua tất cả các phần tử trong mảng từ phần tử đầu tiên đến phần tử cuối cùng.

Dưới đây là chương trình C++ để giải bài tập in các phần tử của một mảng trong C++:

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
   int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   int i;
   // tinh do dai cua mang
   int size = sizeof arr / sizeof arr[0];
   // in mang ra man hinh
   printf("In tat ca phan tu cua mang: \n");
   for(i = 0; i < size; i++) {
      printf("%d ", arr[i]);
    }
    printf("\n");
   return 0;
}

Chạy chương trình C++ trên cho kết quả như sau:

Dưới đây là chương trình C++ để giải bài tập in các phần tử của một mảng ngược trong C++:

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
   int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   int i;
   // tinh do dai cua mang
   int size = sizeof arr / sizeof arr[0];
   // in mang ra man hinh
   printf("In tat ca phan tu cua mang: \n");
   for(i = size-1; i >= 0; i--) {
      printf("%d ", arr[i]);
    }
    printf("\n");
   return 0;
}

Chạy chương trình C++ trên cho kết quả như sau:

2. Bài 02

Đề bài: Viết chương trình C++ nhập một mảng số nguyên từ bàn phím.

Dưới đây là chương trình C++ để giải bài tập nhập một mảng số nguyên từ bàn phím trong C++:

#include <iostream>
#include <iomanip>
using namespace std;
   
int main() {   
    int i, number;
    cout << "Nhap so phan tu cua mang: ";
    scanf("%d", &number);
    int arr[number];
    cout << "Nhap cac phan tu cua mang: \n";
    for (i = 0; i < number; i++) {
        printf("a[%d] = ", i);
        cin >> arr[i];
    }
    // in cac phan tu cua mang arr
    printf("Cac phan tu cua mang: \n");
    for (i = 0; i < number; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}
Chạy chương trình C++ trên cho kết quả như sau:

3. Bài 03

Đề bài: Viết chương trình C++ tính tổng giá trị của một mảng.

Chương trình C++ này giúp bạn hiểu được cách duyệt các giá trị trong một mảng. Để giải bài tập C++ này, chúng ta sẽ sử dụng một vòng lặp và tính tổng tất cả các giá trị của mảng.

Duới đây là chương trình C++ để giải bài tập tính tổng giá trị các phần tử của một mảng trong C++:
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
   int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   int i, total = 0;
   // tinh do dai cua mang
   int size = sizeof arr / sizeof arr[0];
   // tinh tong gia tri cua mang
   for(i = 0; i < size; i++) {
      total = total + arr[i];
    }
   // in tong gia tri cua mang ra man hinh
   printf("Tong cac gia tri cua mang la: %d ", total);
   return 0;
}

Chạy chương trình C++ trên cho kết quả như sau:

4. Bài 04

Đề bài: Viết chương trình C++ sao chép các giá trị của mảng này sang mảng khác.

Sao chép mảng trong C++ liên quan tới việc sao chép các giá trị tương ứng với chỉ mục của mảng này với mảng kia.

Để giải bài tập C++ này chúng ta cần biết trước độ dài của mảng ban đầu. Mảng sao phải có độ dài bằng độ dài của mảng ban đầu. Sử dụng vòng lặp để duyệt qua từng giá trị của mảng ban đầu và sao chép sang mảng sao.

Dưới đây là chương trình C++ để giải bài tập sao chép mảng trong C++:
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
   int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   int arr_copy[10];
   int i;
    
   for(i = 0; i < 10; i++) {
      arr_copy[i] = arr[i];
   }
   cout << "Sao chep mang trong C:\n\n";
   cout << "Mang ban dau -> Mang sao chep \n";
    
   for(i = 0; i < 10; i++) {
      printf("    %2d          %2d\n", arr[i], arr_copy[i]);
   }

   return 0;
}
Chạy chương trình C++ trên cho kết quả như sau:

5. Bài 5 

Đề bài: Viết chương trình C++ để chia một mảng thành hai mảng khác nhau. Kiểm tra xem phần tử của mảng ban đầu là chẵn hay lẻ. Nếu là chẵn thì lưu giữ giá trị vào mảng chẵn (mảng even), nếu là lẻ thì lưu giữ vào mảng lẻ (mảng odd).

Chúng ta giải bài tập C++ trên bằng cách sử dụng vòng lặp và toán tử % để xác định số chẵn hay lẻ.

Dưới đây là chương trình C++ để giải bài tập chia một mảng thành hai mảng: mảng chẵn và mảng lẻ trong C++:

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
   int arr[11] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
   int even[11], odd[11];
   int i, e, d;
    
   e = d = 0;
    
   for(i = 0; i < 11; i++) {
      if(arr[i] % 2 == 0) {
         even[e] = arr[i];
         e++;
      }else {
         odd[d] = arr[i];
         d++;
      }
   }
   cout << "Chia mot mang thanh hai mang trong C:\n\n";   
   cout << "Mang ban dau -> ";
   for(i = 0; i < 11; i++) {
      cout << arr[i] << " ";
   }
        
   cout << "\nMang chan -> ";
   for(i = 0; i < e; i++) {
      cout << even[i] << " ";
   }
    
   cout << "\nMang le -> ";
   for(i = 0; i < d; i++) {
      cout << odd[i] << " ";
   }
   cout << endl;
    
   return 0;
}
Chạy chương trình C++ trên cho kết quả như sau:

Trên đây là một số bài tập tiêu biểu về mảng trong C++ mà eLib tổng hợp được. Hy vọng sẽ giúp bạn đọc củng cố lại kiến thức về mảng và vận dụng chúng vào những project lớn hơn. Chúc các bạn thành công.

Ngày:29/10/2020 Chia sẻ bởi:Nguyễn Minh Duy

CÓ THỂ BẠN QUAN TÂM