Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

दो सरणियों पर संघ संचालन करने के लिए सी कार्यक्रम

एक संघ एक विशेष डेटा प्रकार है जो सी प्रोग्रामिंग भाषा में उपलब्ध है जो विभिन्न डेटा प्रकारों को एक ही मेमोरी लोकेशन में स्टोर करने की अनुमति देता है। यूनियन बहुउद्देश्यीय के लिए एक ही स्मृति स्थान का उपयोग करने का एक कुशल तरीका प्रदान करते हैं।

संघ संचालन

अगर सरणी 1 ={ 1,2,3,4,6}

ऐरे 2 ={1,2,5,6,7}

फिर, array1 और array 2 का मिलन है

Array1 U सरणी 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);
}

कार्यक्रम

दो सरणियों पर संघ संचालन करने के लिए सी कार्यक्रम निम्नलिखित है -

#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. सी प्रोग्राम में 3डी में दो विमानों के बीच का कोण?

    यहां हम देखेंगे कि त्रिविमीय अंतरिक्ष में दो तलों के बीच के कोण की गणना कैसे की जाती है। विमान P1 और P2 हैं। पाई के समीकरण नीचे की तरह हैं - यदि कोण A है, तो वह इस नियम का पालन करेगा - उदाहरण #include <iostream> #include <cmath> using namespace std; class Plane{    private:

  1. पायथन में दो दी गई लिंक्ड सूचियों के मिलन को खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास दो क्रमबद्ध लिंक्ड सूचियाँ L1 और L2 हैं, हमें एक नई सॉर्ट की गई लिंक्ड सूची वापस करनी होगी जो कि दो दी गई सूचियों का मिलन है। इसलिए, यदि इनपुट L1 =[10,20,30,40,50,60,70] L2 =[10,30,50,80,90] जैसा है, तो आउटपुट [10, 20, 30, 40, 50, 60, 70, 80, 90, ] इसे हल करने के लिए, हम इन

  1. पायथन में एक्सेल स्प्रेडशीट ऑपरेशन करने का कार्यक्रम?

    मान लीजिए कि हमारे पास एक्सेल स्प्रेडशीट का प्रतिनिधित्व करने वाला 2 डी मैट्रिक्स है। हमें सभी कोशिकाओं और सूत्रों की गणना के साथ एक ही मैट्रिक्स खोजना होगा। एक एक्सेल स्प्रेडशीट नीचे की तरह दिखती है B1 7 0 3 5 =A1+A2 कॉलम को (ए, बी, सी...) के रूप में नामित किया गया है और पंक्तियां हैं (1, 2, 3