Maison  >  Article  >  développement back-end  >  Réorganiser les valeurs paires et impaires par ordre alterné croissant en C++

Réorganiser les valeurs paires et impaires par ordre alterné croissant en C++

PHPz
PHPzavant
2023-09-12 18:45:021104parcourir

Réorganiser les valeurs paires et impaires par ordre alterné croissant en C++

Nous obtenons un tableau de type entier contenant des nombres positifs et négatifs, disons, arr[] de n'importe quelle taille donnée. La tâche consiste à réorganiser le tableau de telle manière que lorsque l'élément le plus bas du tableau est impair, les éléments du tableau seront réorganisés de telle manière que les nombres impairs soient en premier et les nombres pairs en premier. La deuxième façon. Lorsque l'élément le plus bas du tableau est pair, les éléments du tableau seront réorganisés de manière paire première, seconde impaire, si le nombre d'éléments pairs/impairs est supérieur au nombre d'éléments pairs/impairs, alors il sera placez 0 et imprimez le résultat.

Voyons différents scénarios d'entrée et de sortie -

input− int arr[] = { 1, 1, 2, 2 , 5, 4 }

output− nombres impairs par ordre croissant en alternance Et les valeurs paires sont : 1 2 1 2 5 4.

Explication- Nous obtenons un tableau de types entiers. Nous allons maintenant vérifier le plus petit élément du tableau, c'est-à-dire que 1 est un nombre impair, donc les éléments seront d'abord disposés dans le nombre impair, Même la deuxième méthode, c'est-à-dire 1 2 1 2 5 4, est le résultat final.

Input− int arr[] = { 6, 3, 2, 8, 10, 4 }

Output− Réorganiser les valeurs impaires et paires par ordre croissant de manière alternée est : 2 3 4 0 6 0

Explication − Nous obtenons un tableau de type entier. Nous allons maintenant vérifier le plus petit élément du tableau, c'est-à-dire que 2 est un nombre pair donc elem

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

    Entrez un tableau d'éléments entiers et calculez la taille du tableau.

  • Triez un tableau à l'aide de la méthode de tri de C++ STL, en transmettant le tableau et la taille du tableau à la fonction de tri.

  • Déclarez une variable entière et définissez-la en appelant la fonction Rearrangement(arr, size)

  • Au sein de la fonction Rearrangement(arr, size)

    • créez deux variables "vec_1" et "vec_2" de type Integer données stockées sous forme de type vectoriel.

    • Créez une variable temporaire temporaire de type entier et réglez-la sur 0.

    • Déclarez une autre variable de type bool comme vérification et définissez-la sur FALSE.

    • Démarrez une boucle FOR de i à 0 jusqu'à ce que i soit inférieur à la taille. À l'intérieur de la boucle, vérifiez SI arr[i] % 2 = 0, puis poussez arr[i] dans vec_1. Sinon, poussez arr[i] dans vec_2.

    • Déclarez les variables entières comme i et j comme 0. Vérifiez IF arr[0] % 2 = 0, puis définissez la vérification sur true.

    • Démarrez lorsque la température est inférieure à la taille. Dans la boucle, vérifiez IF check = true, puis définissez arr[temp++] sur vec_1[i++] et vérifiez sur !check. Sinon, convertissez arr[temp++] en vec_2[j++] et définissez check sur !check.

  • Imprimez les résultats.

    li>

Exemple

#include <bits/stdc++.h>
using namespace std;
void Rearrangement(int arr[], int size){
   vector<int> vec_1, vec_2;
   int temp = 0;
   bool check = false;
   for(int i = 0; i < size; i++){
      if(arr[i] % 2 == 0){
         vec_1.push_back(arr[i]);
      }
      else{
         vec_2.push_back(arr[i]);
      }
   }
   int i = 0;
   int j = 0;
   if(arr[0] % 2 == 0){
      check = true;
   }
   while(temp < size){
      if(check == true){
         arr[temp++] = vec_1[i++];
         check = !check;
      }
      else{
         arr[temp++] = vec_2[j++];
         check = !check;
      }
   }
}
int main(){
   int arr[] = { 1, 1, 2, 2, 5, 4 };
   int size = sizeof(arr) / sizeof(int);
   //sort an array
   sort(arr, arr + size);
   cout<<"Rearrangement of Odd and Even values in Alternate Fashion in Ascending Order is: ";
   Rearrangement(arr, size);
   for(int i = 0; i < size; i++){
      cout << arr[i] << " ";
   }
   return 0;
}

Output

Si nous exécutons le code ci-dessus, il générera la sortie suivante

Rearrangement of Odd and Even values in Alternate Fashion in Ascending Order is: 1 2 1 2 5 4

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer