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

C Chương trình chèn 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 chèn các phần tử vào một mảng trong thời gian chạy và kết quả sẽ hiển thị trên màn hình sau khi chèn. Nếu phần tử được chèn lớn hơn kích thước của một mảng thì chúng ta cần hiển thị Đầu vào không hợp lệ.

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 để chèn các phần tử vào 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 vị trí, nơi cần chèn một phần tử.

Bước 7:Chèn phần tử mới vào vị trí đó và các phần tử bên phải sẽ được dịch chuyển theo một vị trí.

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

Chèn phần tử mới:9

Tại vị trí:4

Kết quả như sau -

After insertion the array elements are:
1 2 3 9 4 5

Ví dụ

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

#include<stdio.h>
#include<stdlib.h>
void insert(int n1, int *a, int len, int ele){
   int i;
   printf("Array elements after insertion is:\n");
   for(i=0;i<len-1;i++){
      printf("%d\n",*(a+i));
   }
   printf("%d\n",ele);
   for(i=len-1;i<n1;i++){
      printf("%d\n",*(a+i));
   }
}
int main(){
   int *a,n1,i,len,ele;
   printf("enter size of array elements:");
   scanf("%d",&n1);
   a=(int*)malloc(n1*sizeof(int));
   printf("enter the elements:\n");
   for(i=0;i<n1;i++){
      scanf("%d",a+i);
   }
   printf("enter the position where the element need to be insert:\n");
   scanf("%d",&len);
   if(len<=n1){
      printf("enter the new element that to be inserted:");
      scanf("%d",&ele);
      insert(n1,a,len,ele);
   } else {
      printf("Invalid Input");
   }
   return 0;
}

Đầ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 elements:5
enter the elements:
1
3
5
7
2
enter the position where the element need to be insert:
5
enter the new element that to be inserted:9
Array elements after insertion are:
1
3
5
7
9
2