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

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

चौराहे ऑपरेशन

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

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

फिर, array1 और array 2 का प्रतिच्छेदन है

Array1 ^ array 2 = {1,2,3,4,6} ^ {1,2,5,6,7}
                 = {1,2,6}

सामान्य तत्वों के समूह को चौराहा कहा जाता है।

प्रतिच्छेदन का तर्क इस प्रकार है -

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

कार्यक्रम

दो सरणियों पर प्रतिच्छेदन संचालन करने के लिए 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,intersectionsize;
   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];
   if(size1<size2){
      intersectionsize=size1;
   }else if(size1>size2){
      intersectionsize=size2;
   }else{
      intersectionsize=size1;
   }
   int intersection[intersectionsize];
   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]);
   }
   //Intersection starts
   k=0;
   for(i=0;i<size1;i++){
      for(j=0;j<size2;j++){
         if(a[i]==b[j]){
            intersection[k]=a[i];
            k++;
         }
      }
   }
   //Sorting
   sort(k,intersection);
   //Removing
   size=removerepeated(k,intersection);
   printf("Array after intersection\n");
   if(size>0){
      for(i=0;i<size;i++){
         printf("%d\n",intersection[i]);
      }
   }else{
      printf("No intersection\n");
   }
}
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
5
Enter size of an array2
2
Enter numbers for array 1
4
5
6
7
8
Enter numbers for array 2
4
1
Array after intersection
4

  1. सी++ में दो लाइनों के चौराहे के बिंदु के लिए कार्यक्रम

    रेखा AB के संगत बिंदु A और B दिए गए हैं और रेखा PQ के संगत बिंदु P और Q दिए गए हैं; कार्य इन दो पंक्तियों के बीच प्रतिच्छेदन बिंदु को खोजना है। नोट - X और Y निर्देशांकों पर 2D समतल में अंक दिए गए हैं। यहाँ A(a1, a2), B(b1, b2) और C(c1, c2), D(d1, d2) निर्देशांक हैं जो दो अलग-अलग रेखाएँ बना रहे ह

  1. पायथन में दो सरणियों II का प्रतिच्छेदन

    मान लीजिए कि हमारे पास दो एरे ए और बी हैं, इन एरे में कुछ तत्व हैं। हमें उनका प्रतिच्छेदन खोजना होगा। तो अगर A =[1, 4, 5, 3, 6], और B =[2, 3, 5, 7, 9], तो चौराहा [3, 5] होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - दो सरणियाँ A और B लें यदि A की लंबाई B की लंबाई से छोटी है, तो उन्हें स्वैप

  1. दो सूचियों के चौराहे को खोजने के लिए पायथन कार्यक्रम?

    इंटरसेक्शन ऑपरेशन का मतलब है, हमें लिस्ट 1 और लिस्ट 2 से सभी सामान्य तत्वों को लेना होगा और सभी तत्वों को दूसरी तीसरी सूची में स्टोर करना होगा। List1::[1,2,3] List2::[2,3,6] List3::[2,3] एल्गोरिदम Step 1: input lists. Step 2: first traverse all the elements in the first list and check with the el