কম্পিউটার টিউটোরিয়াল

পয়েন্টার ব্যবহার করে অ্যারে এলিমেন্ট মুছার C প্রোগ্রাম


সমস্যা

ব্যবহারকারীর দ্বারা রানটাইমে অ্যারে থেকে একটি এলিমেন্ট মুছে ফেলার এবং মুছে ফেলার পর ফলাফল স্ক্রিনে দেখানোর জন্য একটি C প্রোগ্রাম লিখুন। যদি মুছে ফেলার জন্য নির্দিষ্ট এলিমেন্ট অ্যারেতে না থাকে, তবে "Invalid Input" প্রদর্শন করতে হবে।

সমাধান

একটি অ্যারে একই নামের অধীনে সাধারণ 엘িমেন্টের একটি গ্রুপ ধারণ করতে ব্যবহৃত হয়।

অ্যারে অপারেশনগুলো হলো -

  • ইনসার্ট (Insert)
  • ডিলিট (Delete)
  • সার্চ (Search)

অ্যালগরিদম

পয়েন্টারের সাহায্যে অ্যারেতে এলিমেন্ট মুছে ফেলার অ্যালগরিদম নিচে দেওয়া হলো:

স্টেপ ১ - এলিমেন্টের সংখ্যা ঘোষণা ও পড়ুন।

স্টেপ ২ - রানটাইমে অ্যারের আকার ঘোষণা ও পড়ুন।

স্টেপ ৩ - অ্যারে এলিমেন্টগুলো ইনপুট নিন।

স্টেপ ৪ - একটি পয়েন্টার ভেরিয়েবল ঘোষণা করুন।

স্টেপ ৫ - রানটাইমে ডাইনামিকভাবে মেমরি অ্যালোকেট করুন।

স্টেপ ৬ - মুছে ফেলার জন্য এলিমেন্টটি ইনপুট নিন।

স্টেপ ৭ - মুছে ফেলার পর, এলিমেন্টগুলো বামদিকে এক পজিশন শিফ্ট করবে।

উদাহরণ

অ্যারের আকার: ৫

অ্যারে এলিমেন্টগুলো নিম্নরূপ:

১ ২ ৩ ৪ ৫

মুছে ফেলার জন্য এলিমেন্টের পজিশন লিখুন: ৪

আউটপুট নিম্নরূপ:

মুছে ফেলার পর অ্যারে এলিমেন্টগুলো: ১ ২ ৩ ৫

প্রোগ্রাম

পয়েন্টার ব্যবহার করে অ্যারেতে এলিমেন্ট মুছে ফেলার C প্রোগ্রাম:

#include<stdio.h> #include<stdlib.h> void delete(int n,int *a,int pos); int main(){    int *a,n,i,pos;    printf("enter the size of array:");    scanf("%d",&n);    a=(int*)malloc(sizeof(int)*n);    printf("enter the elements:\n");    for(i=0;i<n;i++){       scanf("%d",(a+i));    }    printf("enter the position of element to be deleted:");    scanf("%d",&pos);    delete(n,a,pos);    return 0; } void delete(int n,int *a,int pos){    int i,j;    if(pos<=n){       for(i=pos-1;i<n;i++){          j=i+1;          *(a+i)=*(a+j);       }       printf("after deletion the array elements is:\n");       for(i=0;i<n-1;i++){          printf("%d\n",(*(a+i)));       }    }    else{       printf("Invalid Input");    } }

আউটপুট

উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:

enter the size of array:5 enter the elements: 12 34 56 67 78 enter the position of element to be deleted:4 After deletion the array elements are: 12 34 56 78

  1. C ভাষায় পয়েন্টার ব্যবহার করে অ্যারে এলিমেন্টের যোগফল বের করার পদ্ধতি

  2. PHP প্রোগ্রাম: unset ফাংশন ব্যবহার করে অ্যারে থেকে উপাদান ডিলিট করা

  3. C# প্রোগ্রাম: অ্যারে উপাদান অবরোহক্রমে সাজানোর জন্য

  4. C# অ্যারে থেকে এলিমেন্ট ডিলিট/রিমুভ কীভাবে করবেন?