C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で少なくとも2つの大きな要素を持つ配列内のすべての要素を検索します


n個の数の配列があるとします。少なくとも2つの大きな要素を持つ配列内のすべての要素を見つける必要があります。配列がA=[2、8、7、1、5]のような場合、結果は[2、1、5]

になります。

これを解決するために、2番目の最大要素を見つけてから、2番目の最大値以下のすべての要素を出力します。

#include<iostream>
using namespace std;
void searchElements(int arr[], int n) {
   int first_max = INT_MIN, second_max = INT_MIN;
   for (int i = 0; i < n; i++) {
      if (arr[i] > first_max) {
         second_max = first_max;
         first_max = arr[i];
      } else if (arr[i] > second_max)
         second_max = arr[i];
   }
   for (int i = 0; i < n; i++)
   if (arr[i] < second_max)
   cout << arr[i] << " ";
}
int main() {
   int arr[] = { 2, 9, 1, 7, 5, 3, 17};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout << "Elements are: ";
   searchElements(arr, n);
}

出力

Elements are: 2 1 7 5 3

  1. C++で指定された配列の要素の階乗のGCDを検索します

    N個の要素を持つ配列Aがあるとします。配列のすべての要素の階乗のGCDを見つける必要があります。要素が{3、4、8、6}であるとすると、階乗のGCDは6です。ここでトリックを確認します。 2つの数値のGCDは、両方の数値を除算する最大の数値であるため、2つの数値の階乗のGCDは、最小の数値自体の階乗の値です。だから3の公約数!と5! 3です! =6. 例 #include <iostream> using namespace std; long fact(int n){    if(n <= 1)       return

  2. 配列内のすべてのペアワイズ連続要素の絶対差(C ++)?

    この問題では、配列内の要素の各ペアの要素間の絶対差を取得する方法を確認します。 n個の要素がある場合、結果の配列にはn-1個の要素が含まれます。要素が{8、5、4、3}であると仮定します。結果は|8-5|になります=3、次に| 5-4 | =1、| 4-3 |=1。 アルゴリズム pairDiff(arr、n) begin    res := an array to hold results    for i in range 0 to n-2, do       res[i] := |res[i] – res