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

C++ में दी गई शर्त को संतुष्ट करने वाले इंडेक्स युग्मों की गणना करें


हमें पहले N प्राकृतिक संख्याओं के क्रमपरिवर्तन की एक सरणी दी गई है। लक्ष्य यहां उन तत्वों के इंडेक्स युग्मों को ढूंढना है जो नीचे दी गई शर्त को संतुष्ट करते हैं:

यदि एक सरणी Arr[] है, तो i,j इंडेक्स हैं, ऐसे तत्व युग्म गिनें कि Arr[i]+Arr[j]=max(Arr[x]) जैसे कि i<=x<=j।

यानी, Arr[i] और A[j] का योग इन दो खंडों के बीच आने वाले अधिकतम तत्व के बराबर है।

इनपुट

Arr[]= { 2,4,1,3,6,5 }

आउटपुट

दी गई शर्त को संतुष्ट करने वाले इंडेक्स युग्मों की संख्या: 1

व्याख्या: युग्मों का योग दिया गया है:

2+4=6, 6 अधिकतम है लेकिन 2 और 4 के बीच नहीं।

2+1=3, 3, 2 और 1 के बीच नहीं है और उनके बीच अधिकतम 4 है।

2+3=5, 5, 2 और 3 के बीच नहीं है और उनके बीच अधिकतम 4 है।

2+6=8, 8, 2 और 6 के बीच नहीं है और उनके बीच अधिकतम 4 है।

इसी तरह

1+5=6, 6, 1 और 5 के बीच है और उनके बीच अधिकतम 6 है।

सभी में से केवल 1 युग्म मौजूद है जो शर्त को संतुष्ट करता है।

इनपुट

Arr[]= { 1,2,5,4,3 }

आउटपुट

दी गई शर्त को संतुष्ट करने वाले इंडेक्स युग्मों की संख्या: 2

व्याख्या: युग्मों का योग दिया गया है:

1+5=6, 6 अधिकतम है लेकिन 1 और 5 के बीच नहीं।

1+4=5, 5, 1 और 4 के बीच है और उनके बीच अधिकतम 5 है।

2+3=5, 5, 2 और 3 के बीच है और उनके बीच अधिकतम 5 है।

1+3=4, 4, 1 और 3 के बीच है लेकिन उनके बीच अधिकतम 5 है।

सभी में से 2 युग्म मौजूद हैं जो शर्त को संतुष्ट करते हैं।

प्रयुक्त दृष्टिकोण

  • पूर्णांक सरणी Arr[] संख्याओं को संग्रहीत करती है और size इसकी लंबाई।
  • फ़ंक्शन countPairs(int A[],int n) एक सरणी और इसके आकार n को इनपुट के रूप में लेता है और ऊपर की शर्त को संतुष्ट करने वाले युग्मों की संख्या लौटाता है।
  • चर count का उपयोग ऐसे युग्मों के लिए प्रारंभिक मान 0 संग्रहीत करने के लिए किया जाता है।
  • max1 को पहले तत्व और इसके इंडेक्स को maxindex में 0 के रूप में आरंभ करें ताकि अब तक मिले अधिकतम मान और उसके इंडेक्स को संग्रहीत किया जा सके।
  • for लूप का उपयोग करके सरणी को पार करना शुरू करें।
  • नेस्टेड for लूप के अंदर यदि दिया गया A[j]>=max1 तो max1 और इसके इंडेक्स को j से अपडेट करें।
  • A[i] और A[j] के प्रत्येक युग्म के लिए यदि योग max1 के बराबर है और इंडेक्स maxindex i और j के बीच है, तो count बढ़ाएं क्योंकि शर्त संतुष्ट है।
  • दोनों लूप के अंत में count में मौजूद परिणाम लौटाएं।

उदाहरण कोड

// दृष्टिकोण का C++ कार्यान्वयन #include<bits/stdc++.h> using namespace std; // आवश्यक इंडेक्स युग्मों की संख्या लौटाने का फ़ंक्शन int countPairs(int A[], int n){ // आवश्यक संख्या संग्रहीत करने के लिए int count = 0; int i,j,k; int max1=A[0]; int maxindex=0; for ( i = 0; i=max1){ max1=A[j]; maxindex=j; } if(A[i]+A[j]==max1 && maxindex>=i && maxindex<=j) count++; } } // उपखंडों की संख्या लौटाएं return count; } int main(){ int Arr[] = {3, 4, 6, 1, 5, 2}; int size =6; cout <<endl<<"दी गई शर्त को संतुष्ट करने वाले इंडेक्स युग्मों की संख्या: " <<countPairs(Arr,size); return 0; }

आउटपुट

दी गई शर्त को संतुष्ट करने वाले इंडेक्स युग्मों की संख्या: 1

  1. - C++ में दी गई बाइनरी सरणी के x से विभाज्य सभी उपसर्गों की गणना करें

    इस ट्यूटोरियल में, हम बाइनरी सरणी के उन उपसर्गों की संख्या खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे जो x से विभाज्य हैं।इसके लिए हमें एक बाइनरी सरणी और एक मान x प्रदान किया जाएगा। हमारा कार्य उन तत्वों की संख्या ढूंढना है जिनके उपसर्ग दिए गए मान x से विभाज्य हैं।उदाहरण#include <bits/stdc++.h>

  1. - C++ में दी गई शर्त को पूरा करने वाली सभी संभावित N अंकों की संख्याओं की गणना करें

    इस ट्यूटोरियल में, हम दी गई शर्त को पूरा करने वाली संभावित N अंकों की संख्याओं की संख्या खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक पूर्णांक प्रदान किया जाएगा। हमारा कार्य यह जांचना है कि N अंकों वाली कौन सी संख्या अनुसरण करती हैसंख्या + उल्टा(संख्या) = 10N -1उदाहरण#include <bits/

  1. - C++ प्रोग्राम: दी गई शर्त को संतुष्ट करने वाली संख्या a और b ज्ञात करना

    मान लें हमारे पास एक पूर्णांक n है। हमारा कार्य दो संख्या a और b ज्ञात करना है, जहां ये तीन शर्तें पूरी होंगी: a mod b = 0 n a / b < n यदि कोई जोड़ी नहीं मिलती है, तो -1 प्रिंट करें। उदाहरण के लिए, यदि संख्या n = 10 है, तो a और b हो सकते हैं a = 90, b = 10। यह दिए गए नियमों को संतुष्ट करता है।