ホームページ  >  記事  >  バックエンド開発  >  配列内の x の倍数であるすべての要素を昇順に並べ替える C++ プログラム

配列内の x の倍数であるすべての要素を昇順に並べ替える C++ プログラム

王林
王林転載
2023-08-30 20:25:061214ブラウズ

配列内の x の倍数であるすべての要素を昇順に並べ替える C++ プログラム

整数型 `int arr[]` の配列と整数型 `x` の変数があります。タスクは、配列のすべての要素を、指定された整数値 'x' で割り切れるように再配置し、順序が増加するようにすることです。

この問題のさまざまな入出力状況を見てみましょう:

Input - 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} と x を含む整数型の配列があります。値2。まず、配列内の 2 で割り切れるすべての要素 (4、24、22、12、10) をチェックします。次に、すべての要素を昇順、つまり 4、10、3、5、7、12、22、24 に配置します。これが最終出力です。

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

出力 - x=3 で除算できる配列内のすべての要素の再配置結果は次のとおりです: 4 3 12 5 7 22 24 10

説明 - 整数があります。 type 値 {4,24, 3, 5, 7, 22, 12, 10} と値 3 の x を含む配列。まず、配列内の 3 で割り切れる要素 (4、24、12) をすべてチェックします。次に、すべての要素を昇順、つまり 4、3、12、5、7、22、24、10 に配置します。これが最終出力です。

以下のプログラムで使用するメソッドは次のとおりです。

  • 整数型の配列を宣言します。配列のサイズを計算し、size という変数に格納します。配列を再配置するために、整数型の変数 'x' を宣言します。

  • 関数 Rearrange_Elements(arr, size, x)にデータを渡します

  • 関数 Rearrange_Elements(arr, size, x)

    • 整数型の値を格納するために、vec という名前のベクトル型変数を作成します。

    • i が size 未満になるまで i から 0 までループします。ループ内で、IF arr[i] % x = 0 を確認し、arr[i] を vec にプッシュします。

    • C STL の sort メソッドを使用して配列を並べ替えます。 begin() と end() を関数のパラメータとして使用します。

    • i が size 未満になるまで i から 0 までループします。 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

以上が配列内の x の倍数であるすべての要素を昇順に並べ替える C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。