Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm thế nào để tách số chẵn và số lẻ trong một mảng bằng cách sử dụng vòng lặp for trong ngôn ngữ C?

Mảng là một nhóm các mục dữ liệu có liên quan được lưu trữ với một tên duy nhất.

Ví dụ, int student [30]; // sinh viên là một tên mảng chứa 30 tập hợp các mục dữ liệu với một tên biến duy nhất

Các hoạt động của mảng

  • Tìm kiếm - Nó được sử dụng để tìm xem phần tử cụ thể có hiện diện hay không

  • Sắp xếp - Nó giúp sắp xếp các phần tử trong một mảng theo thứ tự tăng dần hoặc giảm dần.

  • Di chuyển ngang qua - Nó xử lý tuần tự mọi phần tử trong một mảng.

  • Chèn - Nó giúp chèn các phần tử trong một mảng.

  • Xóa - Nó giúp xóa một phần tử trong một mảng.

Logic để tìm số chẵn trong một mảng như sau -

for(i = 0; i < size; i ++){
   if(a[i] % 2 == 0){
      even[Ecount] = a[i];
      Ecount++;
   }
}

Logic để tìm số lẻ trong một mảng như sau -

for(i = 0; i < size; i ++){
   if(a[i] % 2 != 0){
      odd[Ocount] = a[i];
      Ocount++;
   }
}

Để hiển thị số chẵn , chức năng hiển thị cuộc gọi như được đề cập bên dưới -

printf("no: of elements comes under even are = %d \n", Ecount);
printf("The elements that are present in an even array is: ");
void display(int a[], int size){
   int i;
   for(i = 0; i < size; i++){
      printf("%d \t ", a[i]);
   }
   printf("\n");
}

Để hiển thị số lẻ , chức năng hiển thị cuộc gọi như được cung cấp bên dưới -

printf("no: of elements comes under odd are = %d \n", Ocount);
printf("The elements that are present in an odd array is : ");
void display(int a[], int size){
   int i;
   for(i = 0; i < size; i++){
      printf("%d \t ", a[i]);
   }
   printf("\n");
}

Chương trình

Sau đây là chương trình C để tách các số chẵn và lẻ trong một mảng bằng cách sử dụng vòng lặp for -

#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("enter size of array :\n");
   scanf("%d", &size);
   printf("enter array elements:\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("no: of elements comes under even are = %d \n", Ecount);
   printf("The elements that are present in an even array is: ");
   display(even, Ecount);
   printf("no: of elements comes under odd are = %d \n", Ocount);
   printf("The elements that are present in an odd array is : ");
   display(odd, Ocount);
   return 0;
}
void display(int a[], int size){
   int i;
   for(i = 0; i < size; i++){
      printf("%d \t ", a[i]);
   }
   printf("\n");
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

enter size of array:
5
enter array elements:
23
45
67
12
34
no: of elements comes under even are = 2
The elements that are present in an even array is: 12 34
no: of elements comes under odd are = 3
The elements that are present in an odd array is : 23 45 67