Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 요소를 추가하여 주어진 배열을 산술 진행으로 변환

<시간/>

이 튜토리얼에서는 요소를 추가하여 주어진 배열을 산술 진행으로 변환하는 프로그램에 대해 논의할 것입니다.

이를 위해 배열이 제공됩니다. 우리의 임무는 주어진 배열에 단일 요소를 추가하여 산술 진행으로 변환하고 추가된 요소를 반환하는 것입니다. 불가능하면 -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