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

xの倍数である配列のすべての要素を昇順で再配置するC++プログラム


「intarr[]」として整数型配列が与えられ、「x」として整数型変数が与えられます。タスクは、配列のすべての要素を、指定された整数値「x」で割り切れるように再配置することであり、配置は昇順である必要があります。

このためのさまざまな入出力シナリオを見てみましょう-

入力 − int arr [] ={4,24、3、5、7、22、12、10}、int x =2

出力 − x 2の倍数である配列のすべての要素を降順で並べ替えると、次のようになります。4 10 3 5 7 12 22 24

説明 -{4,24、3、5、7、22、12、10}の値と2の値を持つxを含む整数型の配列が与えられます。次に、分割可能な配列のすべての要素をチェックします。 2、つまり4、24、22、12、10で。ここで、すべての要素を昇順で配置します。最終出力である4、10、3、5、7、12、22、24。

入力 − nt arr [] ={4,24、3、5、7、22、12、10}、int x =3

出力 − x 3の倍数である配列のすべての要素を降順で並べ替えると、次のようになります。4 3 12 5 7 22 24 10

説明 − {4,24、3、5、7、22、12、10}の値と3の値を持つxを含む整数型の配列が与えられます。最初に、で割り切れる配列のすべての要素をチェックします。 3、つまり3、24、12。次に、すべての要素を昇順で配置します。つまり、最終出力である4、3、12、5、7、22、24、10です。

以下のプログラムで使用されているアプローチは次のとおりです

  • 整数型配列を宣言します。配列のサイズを計算し、sizeという名前の変数に格納します。配列を再配置する必要がある整数型変数「x」を宣言します。

  • データを関数Rearrange_Elements(arr、size、x)

    に渡します
  • 関数Rearrange_Elements(arr、size、x)の内部

    • 整数型の値を格納する型ベクトルのvecとして変数を作成します。

    • iがサイズより小さくなるまでiから0までループFORを開始します。ループ内で、IF arr [i]%x =0を確認してから、arr[i]をvecにプッシュします

    • C ++ STLソートメソッドを使用して配列をソートします。ここで、begin()とend()をパラメーターとして関数に渡します。

    • iがサイズより小さくなるまでiから0までループFORを開始します。 IF arr [i]%x =0を確認してから、arr[i]をvec[j++]に設定します。

    • 配列の最初の要素から最後の使用可能な要素までトラバースして、forループを使用して配列を出力します。

#include <bits/stdc++.h>
using namespace std;
void Rearrange_Elements(int arr[], int size, int x){
   vector<int> vec;
   int j = 0;
   for(int i = 0; i < size; i++){
      if(arr[i] % x == 0){
         vec.push_back(arr[i]);
      }
   }
   sort(vec.begin(), vec.end());
   for (int i = 0; i < size; i++){
      if(arr[i] % x == 0){
         arr[i] = vec[j++];
      }
   }
   cout<<"Rearrangement of all elements of array which are multiples of x "<<x<<" in decreasing order is: ";
   for(int i = 0; i < size; i++){
      cout << arr[i] << " ";
   }
}
int main(){
   int arr[] = {4,24, 3, 5, 7, 22, 12, 10};
   int x = 2;
   int size = sizeof(arr) / sizeof(arr[0]);
   Rearrange_Elements(arr, size, x);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます

Rearrangement of all elements of array which are multiples of x 2 in decreasing order is: 4 10 3 5 7 12 22 24

  1. 配列要素の乗算のためのC++プログラム

    整数要素の配列で与えられ、タスクは配列の要素を乗算して表示することです。 例 Input-: arr[]={1,2,3,4,5,6,7} Output-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 Input-: arr[]={3, 4,6, 2, 7, 8, 4} Output-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 以下のプログラムで使用されるアプローチは次のとおりです − 一時変数を初期化して、最終結果を1で格納します ループを0からnまで開始します。nは配列のサイズです 最終結果を得るには、tempの値にarr[i]を掛け続

  2. 配列内のxより大きいすべての値をフィルター処理するプログラム

    numsという番号のリストがあるとします。別の数xもあります。フィルタリングによって、x未満のnumsからすべての数値を見つける必要があります。 Pythonを使用する場合、関数を引数として受け取り、この関数を使用してフィルター処理するfilter()メソッドが1つあります。 したがって、入力がnums =[1,5,8,3,6,9,12,77,55,36,2,5,6,12,87] x =50の場合、出力は[ 1、5、8、3、6、9、12、36、2、5、6、12] これを解決するには、次の手順に従います- 関数fを定義します。これは、引数aを取ります。