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

C++ में सख्ती से बढ़ते सबएरे की गिनती


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

यहां दृष्टिकोण यह है कि यदि 0th और 1th स्थिति में तत्व बढ़ते क्रम में नहीं हैं तो सबएरे की आगे जांच रोक दें।

उदाहरण- C++ में

इनपुट: int a[] = {1, 7, 5}

आउटपुट: सख्ती से बढ़ते सबएरे की संख्या 1 है

व्याख्या - संभावित सबएरे में {1,7,5}, {1,7}, {7,5} शामिल हैं जहां {1,7} एकमात्र सरणी है जो सख्ती से बढ़ते क्रम में है।

इनपुट:  int a[] = {1, 2, 7, 10}

आउटपुट: सख्ती से बढ़ते सबएरे की संख्या 6 है

व्याख्या - संभावित सबएरे में {{1, 2}, {1, 2, 7}, {1, 2, 7, 10},{2, 7}, {2, 7, 10} और {7, 10} शामिल हैं और सभी सख्ती से बढ़ते क्रम में हैं।

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

  • एक सरणी घोषित की जाती है, तत्व इनपुट किए जाते हैं और डेटा को सरणी की लंबाई के साथ countIncSubarrays(a,a.length) नामक फ़ंक्शन में पास किया जाता है आगे की प्रोसेसिंग के लिए।
  • फ़ंक्शन के अंदर एक काउंट फ्लैग इनिशियलाइज़ करें।
  • सरणी की लंबाई तक i से 0 तक FOR लूप शुरू करें
  • लूप के अंदर, सरणी की लंबाई तक j से i+1 तक एक और FOR लूप शुरू करें
  • लूप के अंदर, चेक करें यदि a[j] a[j-1] से बड़ा है और काउंट बढ़ाएं।
  • अन्यथा लूप तोड़ें क्योंकि बढ़ते क्रम की जांच विफल होती है।
  • मुख्य फ़ंक्शन में परिणाम को फ़ंक्शन कॉल से कैप्चर किया जाता है और आउटपुट के रूप में प्रिंट किया जाता है।

उदाहरण

import java.util.*; class testqwe {    static int MAX = 4;    static int a[] = new int[MAX];    static Scanner scan = new Scanner(System.in);    static int countIncSubarrays(int a[], int n) {       int count = 0;       for (int i = 0; i < n; i++) {          for (int j = i + 1; j < n; j++) {             if (a[j] > a[j - 1])                count++;             else                break;          }       }       return count;    }    public static void main(String[] args) {       for (int i = 0; i < a.length; i++) {          a[i] = scan.nextInt(); //1,2,7,0       }       int result = countIncSubarrays(a, a.length);       System.out.println("Count of strictly increasing subarrays is " +          result);    } }

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

आउटपुट

Count of strictly increasing subarrays is 6

  1. C++ में तल में समानांतर चतुर्भुजों की गणना C++ में तल में समानांतर चतुर्भुजों की गणना

    हमें एक तल दिया गया है जिसमें समानांतर चतुर्भुज बनाने वाले बिंदु हैं और कार्य दिए गए बिंदुओं का उपयोग करके बनने वाले समानांतर चतुर्भुजों की संख्या की गणना करना है। समानांतर चतुर्भुज में एक चतुर्भुज की विपरीत भुजाएँ समानांतर होती हैं और इसलिए विपरीत कोण समान होते हैं। इनपुट - int a[] = {0, 2, 5, 5,

  1. - सख्ती से बढ़ते सब-अर्रे का अधिकतम योग खोजें C++ में

    मान लीजिए हमारे पास n पूर्णांकों का एक ऐरे है। सख्ती से बढ़ते सब-अर्रे का अधिकतम योग खोजें। तो यदि ऐरे [1, 2, 3, 2, 5, 1, 7] जैसा है, तो योग 8 होगा। इस ऐरे में तीन सख्ती से बढ़ते सब-अर्रे हैं ये हैं {1, 2, 3}, {2, 5} और {1, 7}। अधिकतम योग वाला सब-अर्रे {1, 7} है। इस समस्या को हल करने के लिए, हमें अध

  1. - C++ प्रोग्राम: सरणी में इनवर्जन गिनें

    परिचयइनवर्जन काउंट का अर्थ है सरणी को सॉर्ट करने के लिए आवश्यक स्वैप की संख्या। यदि सरणी सॉर्टेड है तो इनवर्जन काउंट = 0। यदि सरणी रिवर्स ऑर्डर में सॉर्टेड है तो इनवर्जन काउंट = अधिकतम।एल्गोरिदम a[j] तो काउंट 1 बढ़ाएं। अंत में काउंट लौटाएं।उदाहरण कोड#include <iostream> using namespace std; in