Maison > développement back-end > C++ > Programme C++ pour réorganiser tous les éléments multiples de x dans un tableau par ordre croissant

Programme C++ pour réorganiser tous les éléments multiples de x dans un tableau par ordre croissant

王林
Libérer: 2023-08-30 20:25:06
avant
1247 Les gens l'ont consulté

Programme C++ pour réorganiser tous les éléments multiples de x dans un tableau par ordre croissant

Nous avons un tableau de type entier `int arr[]` et une variable de type entier `x`. La tâche consiste à réorganiser tous les éléments du tableau afin qu'ils soient divisibles par la valeur entière « x » donnée et que l'ordre soit croissant.

Regardons les différentes situations d'entrée et de sortie de ce problème :

Entrée - int arr[] = {4,24, 3, 5, 7, 22, 12, 10}, int x = 2

Sortie - Le résultat du réarrangement de tous les éléments du tableau qui sont divisibles par , 3, 5, 7, 22, 12, 10} et x avec une valeur de 2. Maintenant, nous allons d'abord vérifier tous les éléments du tableau qui sont divisibles par 2, c'est-à-dire 4, 24, 22, 12, 10. Ensuite, nous organiserons tous les éléments par ordre croissant, c'est-à-dire 4, 10, 3, 5, 7, 12, 22, 24 et c'est le résultat final.

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

Output - Tous les éléments du tableau qui peuvent être divisés par x =3 Le résultat réorganisé est : 4 3 12 5 7 22 24 10

Explication - Nous avons un tableau de type entier contenant les valeurs {4,24, 3, 5, 7, 22, 12, 10} , et x avec la valeur 3. Maintenant, nous allons d'abord vérifier tous les éléments du tableau qui sont divisibles par 3, c'est-à-dire 4, 24, 12. Ensuite, nous organiserons tous les éléments par ordre croissant, c'est-à-dire 4, 3, 12, 5, 7, 22, 24, 10 et c'est le résultat final.

La méthode utilisée dans le programme ci-dessous est la suivante

Déclarez un tableau de type entier. Calculez la taille du tableau et stockez-la dans une variable appelée taille. Déclarez une variable 'x' de type entier pour réorganiser le tableau.

  • Passez les données à la fonction Rearrange_Elements(arr, size, x)

  • Dans la fonction Rearrange_Elements(arr, size, x)

  • Créez une variable de type vectoriel nommée vec pour stocker la valeur de type entier .

    • Commencez à boucler de i à 0 jusqu'à ce que i soit inférieur à la taille. À l'intérieur de la boucle, vérifiez SI arr[i] % x = 0, puis poussez arr[i] dans le vec

    • Triez le tableau en utilisant la méthode de tri de C++ STL où nous commençons() et end() Passé en tant que paramètre à la fonction.

    • Commencez la boucle de i à 0 jusqu'à ce que i soit inférieur à la taille. Vérifiez SI arr[i] % x = 0, puis définissez arr[i] sur vec[j++].

    • Utilisez une boucle for pour imprimer un tableau, en passant du premier élément du tableau au dernier élément disponible.

    • Exemple
    #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;
    }
    Copier après la connexion
  • Output

Si nous exécutons le code ci-dessus, la sortie suivante sera générée

Rearrangement of all elements of array which are multiples of x 2 in decreasing order is: 4 10 3 5 7 12 22 24
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal