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

Chương trình C để tìm kiếm một phần tử mảng bằng cách sử dụng Con trỏ.

Vấn đề

Viết chương trình C để người dùng tìm kiếm một phần tử từ một mảng trong thời gian chạy và kết quả sẽ được hiển thị trên màn hình sau khi tìm kiếm. Nếu phần tử tìm kiếm không nằm trong một mảng thì chúng ta cần tìm phần tử không được tìm thấy.

Giải pháp

Một mảng được sử dụng để chứa nhóm các phần tử chung dưới một tên

Các hoạt động của mảng như sau -

  • Chèn
  • Xóa
  • Tìm kiếm

Thuật toán

Tham khảo thuật toán để tìm kiếm các phần tử trong một mảng với sự trợ giúp của con trỏ -

Bước 1 - Khai báo và đọc số lượng phần tử.

Bước 2 - Khai báo và đọc kích thước mảng trong thời gian chạy.

Bước 3 - Nhập các phần tử của mảng.

Bước 4 - Khai báo một biến con trỏ.

Bước 5 - Phân bổ bộ nhớ động trong thời gian chạy.

Bước 6 - Nhập một phần tử cần tìm kiếm.

Bước 7 - Kiểm tra xem một phần tử có trong một mảng hay không bằng cách duyệt qua. Nếu một phần tử được tìm thấy, hãy hiển thị "Có", ngược lại "Không".

Ví dụ

Kích thước của mảng là:5

Các phần tử của mảng như sau:

1 2 3 4 5

Nhập phần tử cần tìm:4

Kết quả như sau -

4 is present in the array

Ví dụ

Sau đây là chương trình C để xóa các phần tử vào một mảng với sự trợ giúp của con trỏ -

#include<stdio.h>
int i,l;
int search(int ,int *,int);
int main(){
   int n,m;
   printf("enter the size of array:");
   scanf("%d",&n);
   int a[n];
   printf("enter the elements:\n");
   for(i=0;i<n;i++){
      scanf("%d",&a[i]);
   }
   printf("enter the element to be searched:");
   scanf("%d",&m);
   search(n,a,m);
   return 0;
}
int search(int n,int *a,int m){
   for(i=0;i<n;i++){
      if(m==a[i]){
         l=1;
         break;
      }
   }
   if(l==1){
      printf("%d is present in the array",m);
   } else {
      printf("%d is not present in the array",m);
   }
}

Đầu ra

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

Run 1:
enter the size of array:5
enter the elements:
14
12
11
45
23
enter the element to be searched:11
11 is present in the array
Run 2:
enter the size of array:3
enter the elements:
12
13
14
enter the element to be searched:45
45 is not present in the array