大于C ++中数组中的上一个和下一个元素的元素

在这个问题中,我们得到了n个正整数的数组arr []。我们的任务是创建一个程序,以查找大于Array中上一个和下一个元素的元素。 

代码说明: 我们需要找到满足条件的数组元素,该元素大于索引1的元素小于它,并且大于索引1的元素大于它。

让我们举个例子来了解这个问题,

输入:  arr [] = {3,2,5,7,3,4,5}

输出:  7

解释-

索引比当前元素小5的
元素。5 .索引比当前元素大3的元素。

当前元素大于两者。

解决方法-

解决此问题的简单方法是检查数组中每个元素的条件,然后打印满足条件的元素。

为此,我们需要按照以下步骤操作:

步骤1: 从索引1到n-2遍历数组的各个元素。

步骤1.1: 对于每个元素,arr [i]。我们将检查arr [i]> arr [i-1]和arr [i]> arr [i + 1]。 

步骤1.2: 如果为true,则打印arr [i]。

该程序说明了我们解决方案的工作原理,

示例

#include <iostream>
using namespace std;

void findElemenetsInArray(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 = 8;
   int arr[n] = { 5, 4, 7, 1, 17, 8, 3 };
   cout<<"满足给定条件的元素是 ";
   findElemenetsInArray(arr, n);
   return 0;
}

输出-

满足给定条件的元素是 7 17