इस समस्या में, हमें n धनात्मक पूर्णांकों की एक सरणी arr[] दी गई है। हमारा कार्य सरणी में पिछले और अगले तत्व से बड़े तत्वों को खोजने के लिए एक प्रोग्राम बनाना है।
कोड विवरण: हमें सरणी के उन तत्वों को ढूंढना है जो शर्त को पूरा करते हैं: तत्व उससे एक कम सूचकांक वाले तत्व से बड़ा है और उससे एक अधिक सूचकांक वाले तत्व से भी बड़ा है।
उदाहरण से समझते हैं:
इनपुट: arr[] = {3, 2, 5, 7, 3, 4, 5}
आउटपुट: 7
व्याख्या:
वर्तमान तत्व से एक कम सूचकांक वाला तत्व: 5।
वर्तमान तत्व से एक अधिक सूचकांक वाला तत्व: 3।
वर्तमान तत्व दोनों से बड़ा है।
समाधान दृष्टिकोण:
समस्या का एक सरल समाधान सरणी के प्रत्येक तत्व के लिए शर्त की जांच करके और फिर शर्त को पूरा करने वाले तत्व को प्रिंट करना है।
इसके लिए हमें इन चरणों का पालन करना होगा:
चरण 1: सरणी के तत्वों के माध्यम से सूचकांक 1 से n-2 तक लूप चलाएं।
चरण 1.1: प्रत्येक तत्व arr[i] के लिए, जांचें कि क्या arr[i] > arr[i-1] और arr[i] > arr[i+1]।
चरण 1.2: यदि यह सत्य है, तो arr[i] प्रिंट करें।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला प्रोग्राम:
उदाहरण
#include <iostream>
using namespace std;
void findElementsInArray(int arr[], int n) {
for (int i = 1; i < n - 1; i++)
if ((arr[i] > arr[i + 1] && arr[i] > arr[i - 1])) {
cout << arr[i] << "\t";
}
}
int main() {
int n = 7;
int arr[n] = {5, 4, 7, 1, 17, 8, 3};
cout << "The elements that satisfy the given condition are ";
findElementsInArray(arr, n);
return 0;
}
आउटपुट:
The elements that satisfy the given condition are 7 17