पूर्णांकों की एक सरणी के साथ दिया गया और कार्य किसी फ़ंक्शन का उपयोग करके किसी दिए गए सरणी की बिटोनिकिटी की गणना करना है।
सरणी की बिटोनिकिटी है −
- 0 से आरंभ किया गया
- अगला तत्व पिछले मान से बड़ा होने पर 1 तक बढ़ाया जाता है
- अगला तत्व पिछले मान से कम होने पर 1 तक घटाया जाता है
उदाहरण
Input-: arr[] = { 1,4,3,5,2,9,10,11} Output-: Bitonicity of an array is : 3
व्याख्या -
- बिटोनिकिटी कैलकुलेटिंग वेरिएबल मान लें कि टेंप को 0 के साथ इनिशियलाइज़ करें।
- एक सरणी के पहले तत्व से शुरू करें जो 1 है। अब arr[i] और arr[i-1] की तुलना करें यानी 4 और 1 की तुलना यहां 4 1 से अधिक है, जिससे 1 के साथ वृद्धि हुई है। इसी तरह 4 और 3 की तुलना करें। चूँकि 3, 4 से कम है, अस्थायी के मान को घटाता है।
- अस्थायी का अंतिम मान प्रिंट करें जो कि 3 है
नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है
- एक सरणी के सभी तत्वों को पार करें मान लें कि arr[n] जहां n एक सरणी का आकार है
- अगर गिरफ्तारी [i]> गिरफ्तारी [i-1], बिटोनिकिटी से =बिटोनिकिटी + 1
- अगर arr[i]
- अगर arr[i] =arr[i-1], तो bitonicity =bitonicity (अपरिवर्तित)
एल्गोरिदम
Start Step 1-> Declare function to calculate bitonicity of an array int cal_bitonicity(int arr[], int n) set int temp = 0 Loop For int i = 1 and i < n and i++ IF (arr[i] > arr[i - 1]) Increment temp++ End Else IF (arr[i] < arr[i - 1]) Decrement temp— End return temp step 2-> In main() declare int arr[] = { 1,4,3,5,2,9,10,11} set int n = sizeof(arr) / sizeof(arr[0]) Call cal_bitonicity(arr, n) Stop
उदाहरण
#include <iostream> using namespace std; // calculate bitonicity int cal_bitonicity(int arr[], int n) { int temp = 0; for (int i = 1; i < n; i++) { if (arr[i] > arr[i - 1]) temp++; else if (arr[i] < arr[i - 1]) temp--; } return temp; } int main() { int arr[] = { 1,4,3,5,2,9,10,11}; int n = sizeof(arr) / sizeof(arr[0]); cout<<"Bitonicity of an array is : " <<cal_bitonicity(arr, n); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा
Bitonicity of an array is : 3