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

उन अंतरालों की संख्या की गणना करें जिनमें दिया गया मान C++ में है

अंतराल और एक संख्या 'मान' युक्त एक 2D सरणी गिरफ्तारी [] [] को देखते हुए। लक्ष्य एआर में मौजूद अंतराल की संख्या का पता लगाना है जिसके बीच मूल्य निहित है। उदाहरण के लिए अंतराल हैं [ [1,5], [3,7] ] और मान =4 तो यह इन दोनों अंतरालों में है और गिनती 2 होगी।

उदाहरण के लिए

इनपुट

arr[4][2] = { { 1, 20 }, { 12, 25 }, { 32, 40 }, { 15, 18 } } value=16

आउटपुट

Count of number of intervals in which a given value lies are: 3

स्पष्टीकरण

The value 16 lies between 1−20, 12−25 and 15−18

इनपुट

arr[4][2] = {{ 1, 20 }, { 20,30 }, { 30, 40 }, { 40, 50 }} value=60

आउटपुट

Count of number of intervals in which a given value lies are: 0

स्पष्टीकरण

The value 60 is larger than all maximum ranges of intervals present in
arr[][].

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

इस दृष्टिकोण में हम गिरफ्तारी में मौजूद सभी श्रेणियों के लिए एक आवृत्ति सरणी arr_2[] उत्पन्न करेंगे। तो प्रत्येक श्रेणी की गिरफ्तारी [i] [0] और गिरफ्तारी [i] [1] के लिए आवृत्ति arr_2 [arr [i] [0 या 1]] में बढ़ाई जाएगी। अंत में हम आवृत्ति सरणी को arr_2[i]=arr_2[i]+arr_2[i−1] के साथ अपडेट करेंगे क्योंकि i-1 से कम संख्याएं भी i से कम होंगी इसलिए आवृत्ति जोड़ दी जाएगी। इस तरह हम arr_2[value] उन सभी श्रेणियों के रूप में प्राप्त करेंगे जिनमें मान निहित है।

  • एक पूर्णांक सरणी लें arr[][] जिसमें श्रेणियां हों।

  • इनपुट के रूप में एक पूर्णांक मान लें।

  • फ़ंक्शन अंतराल_वैल्यू (इंट एआर [] [2], इंट साइज, इंट वैल्यू) एआर और वैल्यू लेता है और अंतराल की संख्या की गिनती देता है जिसमें एक दिया गया मान निहित है।

  • आवृत्ति सरणी arr_2[] लें।

  • निम्न और उच्चतम को INT_MAX और INT_MIN के रूप में लें।

  • ट्रैवर्स एआर [] [] लूप के लिए i=0 से i<आकार तक का उपयोग कर रहा है।

  • अस्थायी को सीमा के बाईं ओर लें और इसकी आवृत्ति को arr_2[temp]

    . में बढ़ाएं
  • सीमा के अधिकार के रूप में temp_2 लें और इसकी आवृत्ति को arr_2[temp_2+1]

    . में बढ़ाएं
  • यदि अस्थायी <निम्न सेट निम्न =अस्थायी और यदि temp_2>उच्चतम सेट temp_2 के रूप में उच्चतम है।

  • ट्रैवर्स फ़्रीक्वेंसी सरणी और इसे arr_2[i]=arr_2[i]+arr_2[i+1] अपडेट करें।

  • परिणाम के रूप में अंत में arr_2[value] लौटाएं।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
#define max 1000
int intervals_values(int arr[][2], int size, int value){
   int arr_2[max];
   int low = INT_MAX;
   int highest = INT_MIN;
   for(int i = 0; i < size; i++){
      int temp = arr[i][0];
      arr_2[temp] = arr_2[temp] + 1;
      int temp_2 = arr[i][1];
      arr_2[temp_2 + 1] = arr_2[temp_2 + 1] − 1;
      if(temp < low){
         low = temp;
      }
      if(temp_2 > highest){
         highest = temp_2;
      }
   }
   for (int i = low; i <= highest; i++){
      arr_2[i] = arr_2[i] + arr_2[i − 1];
   }
   return arr_2[value];
}
int main(){
   int arr[4][2] = { { 3, 20 }, { 2, 13 }, { 25, 30 }, { 15, 40 } };
   int size = sizeof(arr) / sizeof(arr[0]);
   int value = 28;
   cout<<"Count the number of intervals in which a given value lies are:
   "<<intervals_values(arr, size, value);
   return 0;
}

आउटपुट

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

Count the number of intervals in which a given value lies are: 18830628

  1. C++ में दिए गए आकार के आयत के अंदर संभव रंबी की संख्या की गणना करें

    हमें ऊंचाई X चौड़ाई के रूप में आयामों के साथ एक आयत दिया गया है। आयत को एक 2D निर्देशांक प्रणाली पर दर्शाया गया है जिसमें बिंदु (0,0) पर बाएँ-निचले कोने हैं। तो लक्ष्य इस आयत के अंदर संभव रोम्बी की संख्या को गिनना है ताकि ये सभी शर्तें पूरी हों - समचतुर्भुज का क्षेत्रफल 0 से अधिक होता है। समचत

  1. दी गई सूची से संख्या ज्ञात करें जिसके लिए फ़ंक्शन का मान C++ में A के सबसे निकट है

    मान लीजिए कि हमारे पास एक फ़ंक्शन F(n) है, जैसे कि F(n) =P - (0.006*n), जहां P भी दिया गया है। पूर्णांकों और एक संख्या A की सूची को देखते हुए, कार्य दी गई सूची से संख्या ज्ञात करना है, जिसके लिए फलन का मान A के निकट है। इसलिए यदि P =12, और A =5, तो सूची {1000 होगी , 2000} तो आउटपुट 1000 होगा। तो यदि

  1. सी ++ प्रोग्राम किसी दिए गए नंबर के अंकों का योग करने के लिए

    C++ भाषा में अंकों के योग की गणना करने के लिए यहां एक उदाहरण दिया गया है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "Enter the number : ";    cin >> x;    while (x != 0) {