Wir erhalten ein ganzzahliges Array mit ungeraden und geraden ganzzahligen Werten. Die Aufgabe besteht darin, das Array so umzuordnen, dass arr[i] größer oder gleich arr[j] ist, vorausgesetzt, dass der Wert am Index arr[i] gerade sein sollte, und wenn der Wert an arr[i] ungerade ist, dann sollte arr[i]
ist kleiner oder gleich arr[j].
Input − int arr[] = {5, 9, 10, 12, 32, 35, 67, 89}
Output − Neu anordnen Das Array nach den Elementen ist: 12 32 10 35 9 67 5 89
Erklärung − Wir erhalten ein Array mit ungeraden und geraden ganzen Zahlen. Jetzt werden wir von der Position arr[i] aus traversieren, die Position arr[j] vergleichen und prüfen, ob arr[i] gerade ist. Dann stellen wir sicher, dass arr[i] größer als arr[j] ist, wenn arr[ i] ungerade ist. Stellen Sie dann sicher, dass arr[i] kleiner oder gleich arr[j] ist.
Input − int arr[] = {4, 5, 1, 2, 9, 10}
Output − Das Array nach der Neuanordnung der Elemente ist: 4 5 2 9 1 10
Erläuterung − Wir erhalten ein Array mit ungeraden und geraden ganzen Zahlen. Jetzt werden wir von der Position arr[i] aus traversieren, die Position arr[j] vergleichen und prüfen, ob arr[i] gerade ist. Dann stellen wir sicher, dass arr[i] größer als arr[j] ist, wenn arr[ i] ungerade ist. Stellen Sie dann sicher, dass arr[i] kleiner oder gleich arr[j] ist.
Deklarieren Sie ein Array vom Typ Integer. Berechnen Sie die Größe des Arrays, size = sizeof(arr) / sizeof(arr[0]).
Rufen Sie eine Funktion namens array_rearrange(arr, size) auf und übergeben Sie die Daten als Parameter.
Deklarieren Sie eine Variable gerade und setzen Sie sie auf gerade = Größe / 2, deklarieren Sie dann eine andere Variable ungerade und setzen Sie sie auf gerade Größe.
Deklarieren Sie eine Variable temp und setzen Sie sie auf ungerade – 1. Deklarieren Sie ein Array arr_2[] der Größe arr_1[].
Beginnen Sie mit der Schleife. Beginnend mit i als 0 ist i kleiner als die Größe. Setzen Sie innerhalb der Schleife arr_2[i] auf arr[i].
Rufen Sie eine Funktion namens sort(arr_2, arr_2 + size) auf.
Beginnen Sie mit der Schleife. Beginnend mit i als 0 ist i kleiner als die Größe. Setzen Sie innerhalb der Schleife arr[i] auf arr_2[temp] und dekrementieren Sie die Variable temp um 1.
Stellen Sie die Temperatur auf ungerade ein. Beginnen Sie mit der Schleife von i bis 1, i ist kleiner als die Größe. Setzen Sie innerhalb der Schleife arr[i] auf arr_2[temp] und erhöhen Sie temp um 1.
Beginnen Sie mit der Schleife. Beginnend mit i als 0 ist i kleiner als die Größe. Drucken Sie arr[i].
#include <bits/stdc++.h> using namespace std; void array_rearrange(int arr[], int size){ int even = size / 2; int odd = size - even; int temp = odd - 1; int arr_2[size]; for(int i = 0; i < size; i++){ arr_2[i] = arr[i]; } sort(arr_2, arr_2 + size); for(int i = 0; i < size; i += 2){ arr[i] = arr_2[temp]; temp--; } temp = odd; for(int i = 1; i < size; i += 2){ arr[i] = arr_2[temp]; temp++; } cout<<"Array after rearranging elements are: "; for (int i = 0; i < size; i++){ cout << arr[i] << " "; } } int main(){ int arr[] = {5, 9, 10, 12, 32, 35, 67, 89}; int size = sizeof(arr) / sizeof(arr[0]); array_rearrange(arr, size); return 0; }
Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert
Array after rearranging elements are: 12 32 10 35 9 67 5 89
Das obige ist der detaillierte Inhalt vonOrdnen Sie das Array so um, dass, wenn i eine gerade Zahl ist, arr[i] >= arr[j], wenn i eine ungerade Zahl ist, arr[i] <= arr[j], wobei j < i, implementiert mit der Sprache C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!