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++.
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;
}
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.
#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.
#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;
}
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;
}
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.
Tham khảo thêm
- doc Bài tập C++ kinh điển
- doc Bài tập C++ cơ bản
- doc Bài tập vòng lặp trong C++
- doc Bài tập chuỗi trong C++
- doc Bài tập sử dụng con trỏ trong C++
- doc Bài tập Struct trong C++
- zip Bài tập quản lý sinh viên trong C/C++
- docx Ngân hàng câu hỏi trắc nghiệm C++ có đáp án