正と負の数値を含む整数型の配列 (たとえば、任意のサイズの arr[]) を取得します。タスクは、偶数の位置またはインデックスにあるすべての要素が奇数の位置またはインデックスにある要素より大きくなるように配列を再配置することです。 結果を印刷します。
Input- int arr[] = {2, 1, 4, 3, 6, 5, 8 , 7}
出力− ソート前の配列: 2 1 4 3 6 5 8 7 偶数の位置が奇数の位置より大きくなるように配列を再配置します。 1 2 3 4 5 6 7 8
説明- 正と負の要素を含むサイズ 8 の整数配列が得られます。ここで、偶数位置のすべての要素が奇数位置の要素より大きくなるように配列を再配置します。結果の配列は 1 2 3 4 5 6 7 8 になります。
Input- int arr[] = {-3, 2, -4, -1}
Output- 配置前の配列: - 3 2 -4 -1 偶数の位置が奇数の位置よりも大きくなるように配列を再配置します。 -4 -3 -1 2
説明 - 正と負の要素を含むサイズ 8 の整数配列を取得します。ここで、偶数位置のすべての要素が奇数位置の要素よりも大きくなるように配列を再配置します。これを実行した後の結果の配列は、-4 -3 -1 2 となります。
次のプログラムでは、次のメソッドを使用します。整数要素の配列を入力し、配列のサイズを計算します。
li>C STL の sort メソッドを使用して配列を並べ替えるには、配列と配列のサイズを sort 関数に渡します。
整数変数を宣言し、関数 Rearrangement(arr, size) を呼び出して設定します。
関数 Rearrangement(arr, size) 内
#結果を印刷します。
#include <bits/stdc++.h> using namespace std; void Rearrangement(int* arr, int size){ int ptr[size]; int first = 0; int last = size - 1; for (int i = 0; i < size; i++){ if((i + 1) % 2 == 0){ ptr[i] = arr[last--]; } else{ ptr[i] = arr[first++]; } } } int main(){ //input an array int arr[] = {2, 1, 4, 3, 6, 5, 8, 7}; int size = sizeof(arr) / sizeof(arr[0]); //print the original Array cout<<"Array before Arrangement: "; for (int i = 0; i < size; i++){ cout << arr[i] << " "; } //sort an Array sort(arr, arr + size); //calling the function to rearrange the array Rearrangement(arr, size); //print the array after rearranging the values cout<<"\nRearrangement of an array such that even positioned are greater than odd is: "; for(int i = 0; i < size; i++){ cout<< arr[i] << " "; } return 0; }
出力
Array before Arrangement: 2 1 4 3 6 5 8 7 Rearrangement of an array such that even positioned are greater than odd is: 1 2 3 4 5 6 7 8
以上が偶数位置の要素が奇数位置の要素より大きくなるように配列を再配置する (C++)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。