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

C++ में ऐरे के सभी तत्वों के XOR से ऐरे बनाएं (उसी इंडेक्स के तत्व को छोड़कर)


मान लें हमारे पास n धनात्मक तत्वों का एक ऐरे A[] है। हमें एक और ऐरे B बनाना है, जैसे कि B[i], A[i] को छोड़कर A[] के सभी तत्वों का XOR हो। इसलिए यदि A = [2, 1, 5, 9], तो B = [13, 14, 10, 6]

इसे हल करने के लिए, पहले हमें A के सभी तत्वों का XOR ढूंढना होगा, और इसे वेरिएबल x में स्टोर करना होगा, फिर A[i] के प्रत्येक तत्व के लिए, B[i] = x XOR A[i] ढूंढें।

उदाहरण

#include <iostream>
using namespace std;

void findXOR(int A[], int n) {
    int x = 0;
    for (int i = 0; i < n; i++)
        x ^= A[i];
    for (int i = 0; i < n; i++)
        A[i] = x ^ A[i];
}

int main() {
    int A[] = {2, 1, 5, 9};
    int n = sizeof(A) / sizeof(A[0]);
    cout << "Actual elements: ";
    for (int i = 0; i < n; i++)
        cout << A[i] << " ";
    cout << endl;
    cout << "After XOR elements: ";
    findXOR(A, n);
    for (int i = 0; i < n; i++)
        cout << A[i] << " ";
}

आउटपुट

Actual elements: 2 1 5 9
After XOR elements: 13 14 10 6
  1. - C++ में XOR ऑपरेशन द्वारा सरणी योग न्यूनतम करें

    समस्या विवरण एक सरणी दी गई है, एक मान X ढूंढें जिससे प्रत्येक तत्व के साथ XOR करने के बाद सरणी का योग न्यूनतम हो। उदाहरण: arr = {8, 5, 7, 6, 9} यदि X = 5, तो XOR के बाद: 13, 0, 2, 3, 12 → योग = 30 (न्यूनतम) एल्गोरिदम 32-बिट बिटमैप बनाएं प्रत्येक तत्व के सेट बिट्स गिनें n/2 हैं, तो X में वह बिट

  1. - C++ में ऐरे के सभी एलिमेंट्स को समान बनाने के लिए न्यूनतम डिलीट ऑपरेशन्स

    समस्या कथनn एलिमेंट्स का एक ऐरे दिया गया है जैसे कि एलिमेंट्स रिपीट हो सकते हैं। हम ऐरे से किसी भी संख्या में एलिमेंट्स डिलीट कर सकते हैं। कार्य ऐरे को समान बनाने के लिए डिलीट किए जाने वाले एलिमेंट्स की न्यूनतम संख्या ढूंढना है।arr[] = {10, 8, 10, 7, 10, -1, -4, 12}सभी ऐरे एलिमेंट्स को समान बनाने के

  1. - C++ में ऐरे के सभी क्रमागत युग्म तत्वों का निरपेक्ष अंतर

    इस समस्या में हम देखेंगे कि ऐरे में प्रत्येक युग्म के तत्वों के बीच निरपेक्ष अंतर कैसे प्राप्त करें। यदि n तत्व हैं, तो परिणामी ऐरे में n-1 तत्व होंगे। मान लीजिए तत्व हैं {8, 5, 4, 3}। परिणाम होगा |8-5| = 3, फिर |5-4| = 1, |4-3| = 1। एल्गोरिदम pairDiff(arr, n) begin res := परिणाम रखने के लिए एक