इस ट्यूटोरियल में, हम एक एलिमेंट जोड़कर दिए गए ऐरे को अंकगणितीय प्रगति में बदलने के लिए एक प्रोग्राम पर चर्चा करेंगे।
इसके लिए हमें एक सरणी प्रदान की जाएगी। हमारा कार्य दिए गए सरणी को एक तत्व जोड़कर अंकगणितीय प्रगति में परिवर्तित करना है और जोड़े गए तत्व को वापस करना है। अगर यह संभव नहीं है, तो -1 लौटें।
उदाहरण
#include<bits/stdc++.h>
using namespace std;
//returning the number to be added
int print_number(int arr[], int n){
sort(arr,arr+n);
int d = arr[1] - arr[0];
int numToAdd = -1;
bool numAdded = false;
for (int i = 2; i < n; i++) {
int diff = arr[i] - arr[i - 1];
if (diff != d) {
if (numAdded)
return -1;
if (diff == 2 * d) {
numToAdd = arr[i] - d;
//if number has been added
numAdded = true;
}
//if not possible
else
return -1;
}
}
//returning last element +
//common difference
if (numToAdd == -1)
return (arr[n - 1] + d);
//else return the chosen number
return numToAdd;
}
int main() {
int arr[] = { 1, 3, 5, 7, 11, 13, 15 };
int n = sizeof(arr)/sizeof(arr[0]);
cout << print_number(arr, n);
} आउटपुट
9