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

C++ में एक सरणी को पुनर्व्यवस्थित करें ताकि arr[i] = i हो

हमें एक धनात्मक पूर्णांक प्रकार की सरणी दी गई है, मान लीजिए arr[] किसी भी दिए गए आकार की, जिसमें सरणी के तत्वों का मान 0 से अधिक लेकिन सरणी के आकार से कम होना चाहिए। कार्य सरणी को इस तरह पुनर्व्यवस्थित करना है कि यदि arr[i] 'i' है, यदि 'i' सरणी में मौजूद है, अन्यथा arr[i] तत्व को -1 के मान के साथ सेट करें और अंतिम परिणाम प्रिंट करें।

विभिन्न इनपुट-आउटपुट परिदृश्य देखते हैं:

इनपुट: int arr[] = {0, 8, 1, 5, 4, 3, 2, 9}

आउटपुट: सरणी का पुनर्व्यवस्थित रूप जैसे कि arr[i] = i: 0 1 2 3 4 5 -1 -1

व्याख्या: हमें आकार 8 की एक पूर्णांक सरणी दी गई है और सरणी के सभी तत्वों का मान 8 से कम है। अब, हम सरणी को पुनर्व्यवस्थित करेंगे:

arr[0] = 0 (सरणी में मौजूद)
arr[1] = 1 (सरणी में मौजूद)
arr[2] = 2 (सरणी में मौजूद)
arr[3] = 3 (सरणी में मौजूद)
arr[4] = 4 (सरणी में मौजूद)
arr[5] = 5 (सरणी में मौजूद)
arr[6] = -1 (सरणी में मौजूद नहीं)
arr[7] = -1 (सरणी में मौजूद नहीं)

इनपुट: int arr[] = {1, 2, 6, 9, 10}

आउटपुट: सरणी का पुनर्व्यवस्थित रूप जैसे कि arr[i] = i: -1 1 2 -1 -1

व्याख्या: हमें आकार 5 की एक पूर्णांक सरणी दी गई है और सरणी के सभी तत्वों का मान 5 से कम है। अब, हम सरणी को पुनर्व्यवस्थित करेंगे:

arr[0] = -1 (सरणी में मौजूद नहीं)
arr[1] = 1 (सरणी में मौजूद)
arr[2] = 2 (सरणी में मौजूद)
arr[3] = -1 (सरणी में मौजूद नहीं)
arr[4] = -1 (सरणी में मौजूद नहीं)

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण:

  • पूर्णांक प्रकार के तत्वों की एक सरणी इनपुट करें और सरणी का आकार गणना करें।
  • व्यवस्था से पहले सरणी प्रिंट करें और फंक्शन Rearranging(arr, size) को कॉल करें।
  • फंक्शन Rearranging(arr, size) के अंदर:
    • एक पूर्णांक प्रकार का वेरिएबल घोषित करें, मान लीजिए ptr।
    • i को 0 से size से कम तक लूप चलाएं। अंदर, j को 0 से size से कम तक एक और लूप चलाएं।
    • अंदर, जांचें यदि arr[j] == i तो ptr = arr[j] सेट करें, arr[j] को arr[i] पर, arr[i] को ptr पर सेट करें और ब्रेक करें।
    • i को 0 से size से कम तक लूप चलाएं। अंदर, जांचें यदि arr[i] != i तो arr[i] को -1 पर सेट करें।
  • सरणी के मानों के पुनर्व्यवस्थित होने के बाद सरणी प्रिंट करें।

उदाहरण

#include <iostream>
using namespace std;

void Rearranging(int arr[], int size) {
    int ptr;
    for(int i = 0; i < size; i++) {
        for(int j = 0; j < size; j++) {
            if(arr[j] == i) {
                ptr = arr[j];
                arr[j] = arr[i];
                arr[i] = ptr;
                break;
            }
        }
    }
    for(int i = 0; i < size; i++) {
        if(arr[i] != i) {
            arr[i] = -1;
        }
    }
}

int main() {
    int arr[] = {0, 8, 1, 5, 4, 3, 2, 9};
    int size = sizeof(arr) / sizeof(arr[0]);
    // सरणी को पुनर्व्यवस्थित करने के लिए फंक्शन कॉल करें जैसे कि arr[i] = i
    Rearranging(arr, size);
    // सरणी प्रिंट करें
    cout << "Rearrangement of an array such that arr[i] = i is: ";
    for(int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा:

Rearrangement of an array such that arr[i] = i is: 0 1 2 3 4 5 -1 -1
  1. - ऐरे में अभाज्य संख्या K खोजें जैसे कि (A[i] % K) अधिकतम हो C++ में

    मान लीजिए हमारे पास n पूर्णांकों के साथ एक ऐरे A है। हमें एक तत्व K खोजना है जैसे कि K अभाज्य हो, और सभी वैध i के लिए सभी संभावित K मानों में A[i] mod K अधिकतम हो। यदि ऐसी कोई संख्या नहीं मिलती, तो -1 वापस करें। उदाहरण के लिए, यदि A = [2, 10, 15, 7, 6, 8, 13], तो आउटपुट 13 होगा। तीन अभाज्य संख्याएं

  1. - न्यूनतम x खोजें जैसे कि (x % k) * (x / k) == n C++ में

    दिए गए दो धनात्मक पूर्णांक n और k, और हमें धनात्मक पूर्णांक x खोजना है, जैसे कि (x % k)*(x / k) n के समान हो। तो यदि n और k क्रमशः 4 और 6 हैं, तो आउटपुट 10 होगा। तो (10 % 6) * (10 / 6) = 4। हम जानते हैं कि x % k का मान [1 से k - 1] की रेंज में होगा (0 शामिल नहीं) यहां हम उस रेंज में संभावित पूर्णांक

  1. - C++ में सरणी में उन सभी जोड़े (a, b) को खोजें जैसे कि a % b = k

    मान लीजिए हमारे पास एक सरणी A है, उस सरणी से हमें सभी जोड़े (a, b) प्राप्त करने हैं जैसे कि a%b = k। मान लीजिए सरणी A = [2, 3, 4, 5, 7], और k = 3, तो जोड़े हैं (7, 4), (3, 4), (3, 5), (3, 7)। इसे हल करने के लिए, हम सूची को पार करेंगे और जांचेंगे कि दी गई शर्त पूरी हो रही है या नहीं। उदाहरण #include