在这个问题中,我们得到了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