কম্পিউটার

দুটি অ্যারেতে ইউনিয়ন অপারেশন করার জন্য সি প্রোগ্রাম


একটি ইউনিয়ন হল একটি বিশেষ ডেটা টাইপ যা সি প্রোগ্রামিং ভাষায় উপলব্ধ যা একই মেমরি অবস্থানে বিভিন্ন ধরণের ডেটা সংরক্ষণ করতে দেয়। ইউনিয়ন একাধিক-উদ্দেশ্যের জন্য একই মেমরি অবস্থান ব্যবহার করার একটি কার্যকর উপায় প্রদান করে।

ইউনিয়ন অপারেশন

যদি অ্যারে 1 ={ 1,2,3,4,6}

অ্যারে 2 ={1,2,5,6,7}

তারপর, অ্যারে 1 এবং অ্যারে 2 এর মিলন হল

অ্যারে1 ইউ অ্যারে 2 ={1,2,3,4,6} U {1,2,5,6,7}

={1,2,3,4,5,6,7}

পুনরাবৃত্তি ছাড়াই সমস্ত উপাদানের সেটকে ইউনিয়ন বলে।

ইউনিয়নের জন্য যুক্তি নিম্নরূপ -

for(i=0;i<size1;i++){
   uni[j]=a[i];
   j++;
}
for(i=0;i<size2;i++){
   uni[j]=b[i];
   j++;
}

পুনরাবৃত্ত উপাদান অপসারণের যুক্তি নিম্নরূপ -

int removerepeated(int size,int a[]){
   int i,j,k;
   for(i=0;i<size;i++){
      for(j=i+1;j<size;){
         if(a[i]==a[j]){
            for(k=j;k<size;k++){
               a[k]=a[k+1];
            }
            size--;
         }else{
            j++;
         }
      }
   }
   return(size);
}

প্রোগ্রাম

দুটি অ্যারে -

-এ ইউনিয়ন অপারেশন করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
int removerepeated(int size,int a[]);
void sort(int size,int a[]);
main(){
   int i,size1,size2,size,j=0,k;
   printf("Enter size of an array1\n");
   scanf("%d",&size1);
   printf("Enter size of an array2\n");
   scanf("%d",&size2);
   int a[size1],b[size2],uni[size1+size2];
   printf("Enter numbers for array 1\n");
   for(i=0;i<size1;i++){
      scanf("%d",&a[i]);
   }
   printf("Enter numbers for array 2\n");
   for(i=0;i<size2;i++){
      scanf("%d",&b[i]);
   }
   //union start
   for(i=0;i<size1;i++){
      uni[j]=a[i];
      j++;
   }
   for(i=0;i<size2;i++){
      uni[j]=b[i];
      j++;
   }
   //Sorting
   sort(size1+size2,uni);
   //Remove repeated elements
   size=removerepeated(size1+size2,uni);
   printf("Array afetr Union \n");
   for(i=0;i<size;i++){
      printf("%d\n",uni[i]);
   }
   //Sorting
}
int removerepeated(int size,int a[]){
   int i,j,k;
   for(i=0;i<size;i++){
      for(j=i+1;j<size;){
         if(a[i]==a[j]){
            for(k=j;k<size;k++){
               a[k]=a[k+1];
            }
            size--;
         }else{
            j++;
         }
      }
   }
   return(size);
}
void sort(int size,int a[]){
   int i,j,temp;
   for(i=0;i<size;i++){
      for(j=i+1;j<size;j++){
         if(a[i]>a[j]){
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
         }
      }
   }
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

Enter size of an array1
4
Enter size of an array2
3
Enter numbers for array 1
1
2
3
4
Enter numbers for array 2
3
5
6
Array after Union
1
2
3
4
5
6

  1. সি প্রোগ্রামে 3D তে দুটি প্লেনের মধ্যে কোণ?

  2. পাইথন ব্যবহার করে একটি অ্যারেতে XOR অপারেশন করার জন্য প্রোগ্রাম

  3. পাইথনে দুটি প্রদত্ত লিঙ্কযুক্ত তালিকার মিলন খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে এক্সেল স্প্রেডশীট অপারেশন সঞ্চালনের প্রোগ্রাম?