Mảng là nhóm các mục dữ liệu liên quan lưu trữ dưới một tên duy nhất.
Ví dụ: int student[30]; // student là tên mảng chứa 30 phần tử
Các thao tác trên mảng
- Tìm kiếm (Searching) - Kiểm tra phần tử có tồn tại hay không.
- Sắp xếp (Sorting) - Sắp xếp tăng/giảm dần.
- Duyệt (Traversing) - Xử lý từng phần tử theo thứ tự.
- Chèn (Inserting) - Thêm phần tử vào mảng.
- Xóa (Deleting) - Xóa phần tử khỏi mảng.
Logic tìm số chẵn
for(i = 0; i < size; i++) {
if(a[i] % 2 == 0) {
even[Ecount] = a[i];
Ecount++;
}
}
Logic tìm số lẻ
for(i = 0; i < size; i++) {
if(a[i] % 2 != 0) {
odd[Ocount] = a[i];
Ocount++;
}
}
Hàm hiển thị mảng
void display(int a[], int size) {
for(i = 0; i < size; i++) {
printf("%d\t", a[i]);
}
printf("\n");
}
Chương trình hoàn chỉnh
#include <stdio.h>
void display(int a[], int size);
int main() {
int size, i, a[10], even[20], odd[20];
int Ecount = 0, Ocount = 0;
printf("Nhập kích thước mảng:\n");
scanf("%d", &size);
printf("Nhập các phần tử mảng:\n");
for(i = 0; i < size; i++) {
scanf("%d", &a[i]);
}
for(i = 0; i < size; i++) {
if(a[i] % 2 == 0) {
even[Ecount] = a[i];
Ecount++;
} else {
odd[Ocount] = a[i];
Ocount++;
}
}
printf("Số phần tử chẵn: %d\n", Ecount);
printf("Các phần tử chẵn: ");
display(even, Ecount);
printf("Số phần tử lẻ: %d\n", Ocount);
printf("Các phần tử lẻ: ");
display(odd, Ocount);
return 0;
}
void display(int a[], int size) {
for(i = 0; i < size; i++) {
printf("%d\t", a[i]);
}
printf("\n");
}
Kết quả chạy
Nhập kích thước mảng: 5
Nhập các phần tử mảng: 23 45 67 12 34
Số phần tử chẵn: 2
Các phần tử chẵn: 12 34
Số phần tử lẻ: 3
Các phần tử lẻ: 23 45 67