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