C++の配列内の前の要素と次の要素よりも大きい要素
この問題では、n個の正の整数の配列arr[]が与えられます。私たちのタスクは、配列内の前の要素と次の要素よりも大きい要素を見つけるプログラムを作成することです。
コードの説明: 条件を満たす配列の要素を見つける必要があります。要素は、インデックス1の要素よりも大きく、インデックス1の要素よりも大きくなります。
問題を理解するために例を見てみましょう
入力: arr [] ={3、2、5、7、3、4、5}
出力: 7
説明-
現在の要素より1つ少ないインデックスを持つ要素5。
現在の要素より1つ多いインデックスを持つ要素3。
現在の要素は両方よりも大きいです。
ソリューションアプローチ-
この問題の簡単な解決策は、配列の各要素の条件を確認してから、条件を満たす要素を出力することです。
このためには、次の手順に従う必要があります-
ステップ1: 配列の要素をインデックス1からn-2までループします。
ステップ1.1: 各要素について、arr[i]。 arr [i]>arr[i-1]およびarr[i]>arr [i+1]かどうかを確認します。
ステップ1.2: 真の場合は、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<<"The elements that satisfy the given condition are "; findElemenetsInArray(arr, n); return 0; }
出力-
The elements that satisfy the given condition are 7 17
-
すべての要素がk以上になるまで配列の要素を追加するC++プログラム
ソートされていない要素の配列、つまりarr []があり、整数Kがあり、すべての要素を以上にするために配列の要素を追加するために必要な最小ステップ数を見つける必要があります。 K 。配列の2つの要素を追加して、それらを1つにすることができます。 例 Input: arr[] = {1 10 12 9 2 3},K = 6 Output: 2 説明 まず、(1 + 2)を追加できます 、したがって、新しい配列は 3 10 12 9 3 、(3 + 3)を追加できます 、したがって、新しい配列は 6 10 12 9 、リスト内のすべての要素が 6より大きいことがわかります 。したがって、出力
-
C ++では、すべての要素がk以上になるまで配列の要素を追加します。
配列 −配列は、同じデータ型の要素のコンテナであり、その要素のインデックスは0です。 この問題では、整数の配列を使用します。そして、すべての要素が指定された数より大きいかどうかを確認します。ここでは、配列のすべての要素が指定された数k以上であるかどうかを確認します。そうでない場合は、配列の2つの最小要素を追加し、この合計を1つの要素として扱います。次に、新しいアレイの同じ条件を再度確認します。条件が真であることが判明した場合、合計が実行された回数が返されます。 Array = { 2, 6,3,12, 7} K = 5 Output : 1 説明 −最初に、すべての要素がkより大きいかどう