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