Nội dung chính
Bài tập C: Chia một mảng thành hai mảng trong C
Đề 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).
Lời giải
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 <stdio.h> 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++; } } printf("Chia mot mang thanh hai mang trong C:\n\n"); printf("Mang ban dau -> "); for(i = 0; i < 11; i++) { printf(" %d", arr[i]); } printf("\nMang chan -> "); for(i = 0; i < e; i++) { printf(" %d", even[i]); } printf("\nMang le -> "); for(i = 0; i < d; i++) { printf(" %d", odd[i]); } return 0; }
Chạy chương trình C trên cho kết quả như sau: