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

सी ++ में सरणी में निकटतम संख्या पाएं

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। और तत्वों को क्रमबद्ध किया जाता है। हमें दिए गए पूर्णांक का निकटतम मान ज्ञात करना है। सरणी में डुप्लिकेट मान और ऋणात्मक संख्याएँ हो सकती हैं। तो अगर सरणी [2, 5, 6, 7, 8, 8, 9] की तरह है और लक्ष्य संख्या 4 है, तो निकटतम तत्व 5 है।

हम दिए गए सरणी के माध्यम से इसे हल कर सकते हैं और प्रत्येक तत्व के साथ वर्तमान तत्व के पूर्ण अंतर का ट्रैक रख सकते हैं। अंत में न्यूनतम निरपेक्ष अंतर वाले तत्व को वापस करें।

उदाहरण

#include<iostream>
#include<list>
using namespace std;
int getNearest(int x, int y, int target) {
   if (target - x >= y - target)
      return y;
   else
      return x;
}
int getNearestElement(int arr[], int n, int target) {
   if (target <= arr[0])
      return arr[0];
   if (target >= arr[n - 1])
      return arr[n - 1];
   int left = 0, right = n, mid = 0;
   while (left < right) {
      mid = (left + right) / 2;
      if (arr[mid] == target)
         return arr[mid];
      if (target < arr[mid]) {
         if (mid > 0 && target > arr[mid - 1])
            return getNearest(arr[mid - 1], arr[mid], target);
            right = mid;
      } else {
         if (mid < n - 1 && target < arr[mid + 1])
            return getNearest(arr[mid], arr[mid + 1], target);
         left = mid + 1;
      }
   }
   return arr[mid];
}
int main() {
   int arr[] = { 2, 5, 6, 7, 8, 8, 9 };
   int n = sizeof(arr) / sizeof(arr[0]);
   int target = 4;
   cout << "Nearest element of " << target << " is: " << getNearestElement(arr, n, target);
}

आउटपुट

Nearest element of 4 is: 5

  1. सी ++ में सरणी में प्रत्येक तत्व के लिए निकटतम मान पाएं

    यहां हम देखेंगे कि किसी सरणी में प्रत्येक तत्व के लिए निकटतम मान कैसे प्राप्त करें। यदि किसी तत्व x में अगला तत्व है जो उससे बड़ा है, और सरणी में भी मौजूद है, तो वह उस तत्व का अधिक मूल्य होगा। यदि तत्व मौजूद नहीं है, तो -1 लौटाएं। मान लीजिए कि सरणी तत्व [10, 5, 11, 6, 20, 12] हैं, तो बड़े तत्व [11,

  1. सी ++ में सरणी में प्रत्येक तत्व के लिए निकटतम अधिक मूल्य खोजें

    यहां हम देखेंगे कि किसी सरणी में प्रत्येक तत्व के लिए निकटतम अधिक मूल्य कैसे प्राप्त करें। यदि किसी तत्व x में अगला तत्व है जो उससे बड़ा है, और सरणी में भी मौजूद है, तो वह उस तत्व का अधिक मूल्य होगा। यदि तत्व मौजूद नहीं है, तो -1 लौटाएं। मान लीजिए कि सरणी तत्व [10, 5, 11, 6, 20, 12] हैं, तो बड़े तत्

  1. C++ का उपयोग करके किसी सरणी में किसी संख्या की आवृत्ति ज्ञात करें।

    मान लीजिए कि हमारे पास एक सरणी है। एन विभिन्न तत्व हैं। हमें सरणी में एक तत्व की आवृत्ति की जांच करनी है। मान लीजिए A =[5, 12, 26, 5, 3, 4, 15, 5, 8, 4], अगर हम 5 की बारंबारता ज्ञात करने की कोशिश करते हैं, तो यह 3 होगा। इसे हल करने के लिए, हम सरणी को बाईं ओर से स्कैन करेंगे, यदि तत्व दिए गए नंबर के