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

जांचें कि सी ++ में किसी सरणी में आकार k के प्रत्येक खंड में कोई कुंजी मौजूद है या नहीं

अवधारणा

किसी दिए गए सरणी arr1[] के संबंध में सरणी N के आकार के साथ, एक अन्य कुंजी X और एक खंड आकार K, कार्य यह निर्धारित करना है कि arr1[] में आकार K के प्रत्येक खंड में कुंजी X मौजूद है।

इनपुट

arr1[] = { 4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4}
X = 4
K = 3

आउटपुट

Yes

सरणी में आकार K के 4 गैर-अतिव्यापी खंड मौजूद हैं, {4, 6, 3}, {5, 10, 4}, {2, 8, 4} और {12, 13, 4}। 4 सभी खंडों में मौजूद है।

इनपुट

arr1[] = { 22, 24, 57, 66, 35, 55, 77, 33, 24, 46, 22, 24, 26}
X = 24
K = 5

आउटपुट

Yes

इनपुट

arr1[] = { 6, 9, 8, 13, 15, 4, 10}
X = 9
K = 2

आउटपुट

No

विधि

इस मामले में, अवधारणा सरल है, हम आकार K के प्रत्येक खंड पर विचार करते हैं और सत्यापित करते हैं कि X विंडो में मौजूद है या नहीं। इसलिए हमें अंतिम खंड से सावधानीपूर्वक निपटने की आवश्यकता है।

उदाहरण

उपरोक्त दृष्टिकोण का कार्यान्वयन निम्नलिखित है -

// C++ code to determine the every segment size of
// array have a search key x
#include <bits/stdc++.h>
using namespace std;
bool findxinkindowSize1(int arr1[], int X, int K, int N){
   int i;
   for (i = 0; i < N; i = i + K) {
      // Search X in segment starting
      // from index i.
      int j;
      for (j = 0; j < K; j++)
         if (arr1[i + j] == X)
      break;
      // If loop didn't break
      if (j == K)
         return false;
   }
   // If N is a multiple of K
   if (i == N)
      return true;
   // Check in last segment if N
   // is not multiple of K.
   int j;
   for (j=i-K; j<N; j++)
      if (arr1[j] == X)
   break;
   if (j == N)
      return false;
   return true;
}
// main driver
int main(){
   int arr1[] = { 4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4 };
   int X = 4, K = 3;
   int N = sizeof(arr1) / sizeof(arr1[0]);
   if (findxinkindowSize1(arr1, X, K, N))
      cout << "Yes" << endl;
   else
      cout << "No" << endl;
   return 0;
}

आउटपुट

Yes

  1. C++ में किसी सरणी की बिटनोसिटी की जांच करने का कार्यक्रम

    एन पूर्णांकों की एक सरणी गिरफ्तारी [एन] को देखते हुए, कार्य यह जांचना है कि दिया गया सरणी बिटोनिक है या नहीं। यदि दी गई सरणी बिटोनिक है तो हां यह एक बिटोनिक सरणी है प्रिंट करें, अन्यथा प्रिंट करें नहीं यह एक बिटोनिक सरणी नहीं है। एक बिटोनिक सरणी तब होती है जब सरणी पहले सख्ती से बढ़ते क्रम में होती

  1. C++ में सरणी में मौजूद कुंजी K की प्रायिकता

    आकार एन की एक सरणी के साथ दिया गया है और कार्य किसी सरणी में उपलब्ध होने पर दिए गए तत्व k की संभावना को खोजना है। संपूर्ण सरणी को n तक पार करें जो किसी सरणी में तत्वों की संख्या के बराबर है और दिए गए तत्व या कुंजी k की खोज करें। यदि तत्व किसी सरणी में मौजूद है तो इसकी संभावना की गणना करें अन्यथा 0

  1. n आकार के दिए गए सरणी की जाँच करें n स्तरों के BST का प्रतिनिधित्व कर सकते हैं या C++ में नहीं

    हमारे पास एक सरणी ए है, हमें यह जांचना होगा कि सरणी एन स्तरों के साथ बीएसटी का प्रतिनिधित्व कर सकती है या नहीं। जैसा कि स्तर है, हम निम्नलिखित तरीके से एक पेड़ का निर्माण कर सकते हैं। मान लें कि कोई संख्या k है, k से बड़ा मान दाईं ओर जाता है, और k से कम बाईं ओर चलता है। मान लीजिए कि दो सूचियाँ हैं:{