Heim > Artikel > Backend-Entwicklung > C++-Programm zum Neuanordnen aller Elemente, die ein Vielfaches von x in einem Array sind, in aufsteigender Reihenfolge
Wir haben ein Array vom Ganzzahltyp „int arr[]“ und eine Variable vom Ganzzahltyp „x“. Die Aufgabe besteht darin, alle Elemente des Arrays so neu anzuordnen, dass sie durch den angegebenen ganzzahligen Wert „x“ teilbar sind und die Reihenfolge aufsteigend sein sollte.
Eingabe - int arr[] = {4,24, 3, 5, 7, 22, 12, 10}, int x = 2
Ausgabe – Das Neuanordnungsergebnis aller Elemente im Array, die durch , 3, 5, 7, 22, 12, 10} und x mit einem Wert von 2 teilbar sind. Jetzt prüfen wir zunächst alle Elemente im Array, die durch 2 teilbar sind, also 4, 24, 22, 12, 10. Dann ordnen wir alle Elemente in aufsteigender Reihenfolge an, d. h. 4, 10, 3, 5, 7, 12, 22, 24, und dies ist die endgültige Ausgabe.
Eingabe - int arr[] = {4,24, 3, 5, 7, 22, 12, 10}, int x = 3
Ausgabe - Alle Elemente im Array, die durch x teilbar sind =3 Das neu angeordnete Ergebnis ist: 4 3 12 5 7 22 24 10
Erklärung - Wir haben ein Array vom Typ Integer, das die Werte {4,24, 3, 5, 7, 22, 12, 10} enthält. und x mit dem Wert 3. Jetzt prüfen wir zunächst alle Elemente im Array, die durch 3 teilbar sind, also 4, 24, 12. Dann ordnen wir alle Elemente in aufsteigender Reihenfolge an, d. h. 4, 3, 12, 5, 7, 22, 24, 10, und dies ist die endgültige Ausgabe.
Die im folgenden Programm verwendete Methode lautet wie folgt:
Übergeben Sie die Daten an die Funktion Rearrange_Elements(arr, size, x)
In der Funktion Rearrange_Elements(arr, size, x)
Erstellen Sie eine Vektortypvariable mit dem Namen vec, um den Ganzzahltypwert zu speichern .
Beginnen Sie mit der Schleife von i bis 0, bis i kleiner als die Größe ist. Überprüfen Sie innerhalb der Schleife, ob arr[i] % x = 0 ist, und schieben Sie dann arr[i] in den VEC.
Sortieren Sie das Array mit der Sortiermethode von C++ STL, wobei wir begin() und end() als a übergeben Parameter zur Funktion.
Beginnen Sie mit der Schleife von i bis 0, bis i kleiner als die Größe ist. Überprüfen Sie, ob arr[i] % x = 0 ist, und setzen Sie dann arr[i] auf vec[j++].
Verwenden Sie eine for-Schleife, um ein Array zu drucken und dabei vom ersten Element des Arrays bis zum letzten verfügbaren Element zu durchlaufen.
#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
Das obige ist der detaillierte Inhalt vonC++-Programm zum Neuanordnen aller Elemente, die ein Vielfaches von x in einem Array sind, in aufsteigender Reihenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!