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

दो सरणियों पर यूनियन ऑपरेशन करने का C प्रोग्राम

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

यूनियन ऑपरेशन

यदि सरणी 1 = { 1,2,3,4,6}

सरणी 2 = {1,2,5,6,7}

तब, सरणी1 और सरणी 2 का यूनियन है

Array1 U array 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 after Union \n"); 
    for(i = 0; i < size; i++){ 
        printf("%d\n", uni[i]); 
    } 
} 
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. C प्रोग्राम में 3D में दो तल के बीच का कोण C प्रोग्राम में 3D में दो तल के बीच का कोण

    समस्या विवरण यहां हम त्रि-आयामी स्थान में दो तल के बीच का कोण गणना करना देखेंगे। तल P1 और P2 हैं। Pi के समीकरण इस प्रकार हैं: a₁x + b₁y + c₁z + d₁ = 0 a₂x + b₂y + c₂z + d₂ = 0 सूत्र यदि कोण A है, तो: cos A = |a₁a₂ + b₁b₂ + c₁c₂| / (√(a₁²+b₁²+c₁²) * √(a₂²+b₂²+c₂²)) C++ प्रोग्राम उदाहरण d = d;

  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. - पायथन में एक्सेल स्प्रेडशीट ऑपरेशन करने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D मैट्रिक्स है जो एक एक्सेल स्प्रेडशीट को दर्शाता है। हमें सभी सेल और फ़ॉर्मूला की गणना के साथ वही मैट्रिक्स ढूंढना है। एक एक्सेल स्प्रेडशीट नीचे जैसी दिखती है B17035=A1+A2 स्तंभों के नाम (A, B, C...) हैं और पंक्तियाँ (1, 2, 3....) हैं। प्रत्येक सेल में या तो एक मान होगा, कि