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

सी . में मूल्य और सूचकांक रकम का अधिकतम पूर्ण अंतर


हमें पूर्णांकों की एक सरणी दी गई है। कार्य मूल्य और सूचकांक राशियों के अधिकतम निरपेक्ष अंतर की गणना करना है। यह एक सरणी में अनुक्रमित (i,j) की प्रत्येक जोड़ी के लिए है, हमें गणना करनी होगी | एआर [i] - ए [जे] | + |आई-जे| और ऐसी अधिकतम संभव राशि ज्ञात कीजिए। यहाँ |ए| मतलब ए का निरपेक्ष मान। यदि सरणी में 4 तत्व हैं तो सूचकांक 0,1,2,3 हैं और अद्वितीय जोड़े होंगे ( (0,0), (1,1), (2,2), (3,3) , (0,1), (0,2), (0,3), (1,2), (1,3), (2,3))।

इनपुट - अरे [] ={ 1,2,4,5 }

आउटपुट − मूल्य और सूचकांक योगों का अधिकतम पूर्ण अंतर − 7

स्पष्टीकरण - सूचकांक जोड़े और | ए [i]-ए [जे] | + | आई-जे | इस प्रकार हैं

1. (0,0), (1,1), (2,2), (3,3)--------- |i-j| for each is 0.
2. (0,1)---------- |1-2| + |0-1|= 1+1 = 2
3. (0,2)---------- |1-4| + |0-2|= 3+2 = 5
4. (0,3)---------- |1-5| + |0-3|= 4+3 = 7
5. (1,2)---------- |2-4| + |1-2|= 2+1 = 3
6. (1,3)---------- |2-5| + |1-3|= 3+2 = 5
7. (2,3)---------- |4-5| + |2-3|= 1+1 = 2
Maximum value of such a sum is 7.

इनपुट - अरे [] ={ 10,20,21 }

आउटपुट − मूल्य और सूचकांक राशियों का अधिकतम निरपेक्ष अंतर − 13

स्पष्टीकरण - सूचकांक जोड़े और | ए [i]-ए [जे] | + | आई-जे | इस प्रकार हैं

1. (0,0), (1,1), (2,2)--------- |i-j| for each is 0.
2. (0,1)---------- |10-20| + |0-1|= 10+1 = 11
3. (0,2)---------- |10-21| + |0-2|= 11+2 = 13
4. (1,2)---------- |20-21| + |1-2|= 1+1 = 2
Maximum value of such a sum is 13.

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

  • हम एक पूर्णांक सरणी लेते हैं जिसमें संख्याएं Arr[]

    . के रूप में होती हैं
  • फ़ंक्शन maxabsDiff(int arr[],int n) का उपयोग मूल्य और अनुक्रमणिका राशियों के अधिकतम निरपेक्ष अंतर की गणना के लिए किया जाता है..

  • हम वेरिएबल रिजल्ट को -1 से इनिशियलाइज़ करते हैं।

  • लूप के अंदर शुरुआत से ही पूर्णांकों की सरणी को पार करें।

  • लूप के लिए नेस्टेड में शेष तत्वों को पार करें और तत्व मान और अनुक्रमणिका के पूर्ण योग की गणना करें i,j (abs(arr[i] - arr[j]) + abs(i - j)) और एक चर में स्टोर करें जैसे absDiff।

  • यदि यह नई गणना की गई राशि पिछले एक से अधिक है तो इसे 'परिणाम' में संग्रहीत करें।

  • संपूर्ण सरणी को पार करने के बाद परिणाम लौटाएं।

उदाहरण

#include <stdio.h>
#include <math.h>
// Function to return maximum absolute difference
int maxabsDiff(int arr[], int n){
   int result = 0;
   for (int i = 0; i < n; i++) {
      for (int j = i; j < n; j++) {
         int absDiff= abs(arr[i] - arr[j]) + abs(i - j);
         if (absDiff > result)
            result = absDiff;
      }
   }
   return result;
}
int main(){
   int Arr[] = {1,2,4,1,3,4,2,5,6,5};
   printf("Maximum absolute difference of value and index sums: %d", maxabsDiff(Arr,10));
   return 0;
}

आउटपुट

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

Maximum absolute difference of value and index sums: 13

  1. जावास्क्रिप्ट में सबसे बड़ा योग और सबसे छोटा सूचकांक अंतर

    समस्या जावास्क्रिप्ट फ़ंक्शन जो पहले और एकमात्र तर्क के रूप में इंटीजर, एआर की एक सरणी लेता है। हमारे फ़ंक्शन को एक इंडेक्स जोड़ी (i, j) चुनना चाहिए जैसे कि (arr[i] + arr[j]) + (i - j) एरे में सभी इंडेक्स पेयर में अधिकतम हो। तब हमारे फ़ंक्शन को अधिकतम मान वापस करना चाहिए। उदाहरण के लिए, यदि फ़ंक्

  1. सेलपैडिंग और सेलस्पेसिंग के बीच अंतर

    इस पोस्ट में, हम सेलपैडिंग और सेल स्पेसिंग के बीच के अंतर को समझेंगे। सेलपैडिंग यह एक ही सेल से जुड़ा होता है। यह सेल की सीमा और सेल के भीतर मौजूद सामग्री के बीच मौजूद सफेद स्थान को नियंत्रित करने में मदद करता है। सेल पैडिंग का डिफ़ॉल्ट मान 1 है। इसका उपयोग एक प्रभावी तरीके के रूप में कि

  1. उस नोड का पता लगाएं जिसका एक्स के साथ पूर्ण अंतर सी ++ में अधिकतम मूल्य देता है

    मान लीजिए कि हमारे पास एक पेड़ है, और सभी नोड्स का वजन और एक पूर्णांक x है। हमें नोड i को खोजना है, जैसे |वेट[i] - x| न्यूनतम है। यदि ग्राफ नीचे जैसा है, और x =15 आउटपुट 3 होगा। अब विभिन्न नोड्स के लिए, यह नीचे जैसा होगा नोड 1, |5 - 15| =10 नोड 2, |10 - 15| =5 नोड 3, |11 - 15| =4 नोड 4, |8 -