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

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


সমস্যা

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

সমাধান

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

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

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

অ্যালগরিদম

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

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

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

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

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

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

স্টেপ ৬: যেখানে এলিমেন্ট ইনসার্ট করবেন সেই পজিশন ইনপুট নিন।

স্টেপ ৭: নতুন এলিমেন্টটি ঐ পজিশনে ইনসার্ট করুন এবং বাকি এলিমেন্টগুলো ডানদিকে এক পজিশন শিফ্ট করুন।

উদাহরণ

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

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

১ ২ ৩ ৪ ৫

নতুন এলিমেন্ট: ৯

পজিশন: ৪

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

ইনসার্শনের পর অ্যারে এলিমেন্টগুলো: ১ ২ ৩ ৯ ৪ ৫

প্রোগ্রাম

পয়েন্টার ব্যবহার করে অ্যারেতে এলিমেন্ট ইনসার্ট করার 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

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

  2. সি শার্প ব্যবহার করে অ্যরেতে শেষ উপাদান পাওয়ার প্রোগ্রাম

  3. সি শার্প প্রোগ্রাম: অ্যরেতে প্রাথমিক উপাদানগুলো বাদ দেওয়া (Skip)

  4. C#-এ ২D অ্যারেতে K-তম স্মলেস্ট এলিমেন্ট বের করা