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

सी ++ का उपयोग करके एक क्रमबद्ध सरणी में फर्श और छत खोजें।

यहां हम देखेंगे कि कैसे एक क्रमबद्ध सरणी में फर्श और छत का पता लगाया जाए। फ्लोर वैल्यू बड़ा तत्व है जो x से छोटा या उसके बराबर है, और सीलिंग वैल्यू सबसे छोटा मान है जो x से बड़ा है। यदि सरणी A =[5, 6, 8, 9, 6, 5, 5, 6], और x 7 है, तो न्यूनतम मान 6 है, और अधिकतम मूल्य 8 है।

इस समस्या को हल करने के लिए, हम रैखिक खोज दृष्टिकोण का पालन करेंगे। हम सरणी को पार करेंगे और x के संबंध में दो दूरियों को ट्रैक करेंगे।

  • तत्व की न्यूनतम दूरी x से अधिक या उसके बराबर
  • तत्व की न्यूनतम दूरी x से कम या उसके बराबर
  • अंत में, न्यूनतम दूरी के साथ एक प्रिंट तत्व

उदाहरण

#include<iostream>
using namespace std;
void floorCeilingPair(int arr[], int n, int x) {
   int floor_index, ceiling_index;
   int floor_dist = INT_MAX, ceil_dist = INT_MAX;
   for (int i=0; i<n; i++) {
      if (arr[i] >= x && ceil_dist > (arr[i] - x)) {
         ceiling_index = i;
         ceil_dist = arr[i] - x;
      }
      if (arr[i] <= x && floor_dist > (x - arr[i])) {
            floor_index = i;
            floor_dist = x - arr[i];
      }
   }
   if (floor_dist == INT_MAX)
      cout << "Floor not found" << endl;
   else
      cout << "Floor value is " << arr[floor_index] << endl;
   if (ceil_dist == INT_MAX)
      cout << "Ceiling not found" << endl;
   else
      cout << "Ceil value is " << arr[ceiling_index] << endl;
}
int main() {
   int arr[] = {5, 6, 8, 9, 6, 5, 5, 6};
   int n = sizeof(arr)/sizeof(int);
   int x = 7;
   floorCeilingPair(arr, n, x);
}

आउटपुट

Floor value is 6
Ceil value is 8

  1. C++ . में BST से तल और छत

    यहां हम देखेंगे कि बीएसटी से फ्लोर और सीलिंग वैल्यू कैसे पता करें। उदाहरण के लिए, यदि हम एक मेमोरी मैनेजमेंट सिस्टम बनाना चाहते हैं, जहां BST में फ्री नोड्स की व्यवस्था की जाती है। इनपुट अनुरोध के लिए सबसे उपयुक्त खोजें। मान लीजिए कि हम कुंजी मान से बड़े छोटे डेटा वाले पेड़ को नीचे ले जा रहे हैं, तो

  1. C++ प्रोग्राम दो अवर्गीकृत सरणियों के मिलन और प्रतिच्छेदन को खोजने के लिए

    इस लेख में, हम दो दिए गए अक्रमित सरणियों के मिलन और प्रतिच्छेदन को खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे। आइए हम दो सरणियों को ए और बी से निरूपित करें। फिर उन सरणियों के मिलन को A ∪ B . द्वारा दर्शाया जाता है जो मूल रूप से दिए गए दोनों सरणियों में सभी तत्वों की एक सरणी है; बशर्ते कि प्रत्येक त

  1. सी ++ में छत और फर्श कार्य

    सील फंक्शन सील फ़ंक्शन सबसे छोटा संभव पूर्णांक मान देता है जो मान के बराबर या उससे अधिक होता है। यह फ़ंक्शन C++ भाषा में cmath हेडर फ़ाइल में घोषित किया गया है। यह सिंगल वैल्यू लेता है जिसकी सील वैल्यू की गणना की जानी है। वैरिएबल का डेटाटाइप डबल/फ्लोट/लॉन्ग डबल ही होना चाहिए। यहाँ C++ भाषा में cei