Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เพื่อแทรกองค์ประกอบอาร์เรย์โดยใช้พอยน์เตอร์


ปัญหา

เขียนโปรแกรม C เพื่อแทรกองค์ประกอบลงในอาร์เรย์ที่รันไทม์โดยผู้ใช้และผลลัพธ์ที่จะแสดงบนหน้าจอหลังจากการแทรก หากองค์ประกอบที่แทรกมีขนาดใหญ่กว่าขนาดของอาร์เรย์ เราจำเป็นต้องแสดงอินพุตที่ไม่ถูกต้อง

วิธีแก้ปัญหา

อาร์เรย์ใช้เพื่อเก็บกลุ่มขององค์ประกอบทั่วไปภายใต้ชื่อเดียว

การทำงานของอาร์เรย์มีดังนี้ −

  • แทรก
  • ลบ
  • ค้นหา

อัลกอริทึม

อ้างอิงอัลกอริทึมเพื่อแทรกองค์ประกอบลงในอาร์เรย์โดยใช้พอยน์เตอร์

ขั้นตอนที่ 1:ประกาศและอ่านจำนวนองค์ประกอบ

ขั้นตอนที่ 2:ประกาศและอ่านขนาดอาร์เรย์ที่รันไทม์

ขั้นตอนที่ 3:ป้อนองค์ประกอบอาร์เรย์

ขั้นตอนที่ 4:ประกาศตัวแปรตัวชี้

ขั้นตอนที่ 5:จัดสรรหน่วยความจำแบบไดนามิกที่รันไทม์

ขั้นตอนที่ 6:ป้อนตำแหน่งที่ควรแทรกองค์ประกอบ

ขั้นตอนที่ 7:แทรกองค์ประกอบใหม่ที่ตำแหน่งนั้นและองค์ประกอบทางขวาจะถูกเลื่อนตำแหน่งเดียว

ตัวอย่าง

ขนาดของอาร์เรย์คือ:5

องค์ประกอบอาร์เรย์มีดังนี้ -

1 2 3 4 5

แทรกองค์ประกอบใหม่:9

ที่ตำแหน่ง:4

ผลลัพธ์จะเป็นดังนี้ −

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

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C เพื่อแทรกองค์ประกอบลงในอาร์เรย์โดยใช้พอยน์เตอร์ -

#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;
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -

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