Maison > développement back-end > C++ > Modifier une chaîne en réorganisant les voyelles en fonction de leur position d'index dans la chaîne

Modifier une chaîne en réorganisant les voyelles en fonction de leur position d'index dans la chaîne

王林
Libérer: 2023-09-06 18:53:06
avant
990 Les gens l'ont consulté

Modifier une chaîne en réorganisant les voyelles en fonction de leur position dindex dans la chaîne

Dans cet article, nous verrons comment modifier une chaîne donnée en C++ en réorganisant les voyelles par ordre alphabétique à leurs index respectifs. Nous expliquerons également les méthodes utilisées pour résoudre ce problème et fournirons des exemples avec des cas de test.

Énoncé du problème

À partir d'une chaîne, réorganisez les voyelles à leurs indices respectifs par ordre alphabétique. Les consonnes de la chaîne doivent conserver leur ordre d'origine. Par exemple, étant donné la chaîne « tutorialspoint », le résultat devrait être « tatiriolspount ».

Méthode

Ce problème peut être résolu à l'aide d'un algorithme simple. Nous pouvons d’abord créer une chaîne distincte contenant toutes les voyelles de la chaîne donnée dans leur ordre respectif. Nous pouvons ensuite trier cette chaîne par ordre alphabétique. Enfin, nous pouvons remplacer les voyelles de la chaîne d'origine par les voyelles à leurs indices respectifs dans la chaîne triée.

Exemple

Voyons l'approche étape par étape dans le code C++ -

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string modifyString(string str) {
   string vowels = "";
   string result = "";
   
   // Extract vowels from the string
   for(int i = 0; i < str.length(); i++) {
      if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') {
         vowels += str[i];
      }
   }
   
   // Sort the vowels in alphabetical order
   sort(vowels.begin(), vowels.end());
   
   // Replace the vowels in the original string with sorted vowels
   int vowelIndex = 0;
   for(int i = 0; i < str.length(); i++) {
      if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') {
         result += vowels[vowelIndex];
         vowelIndex++;
      } else {
         result += str[i];
      }
   }
   return result;
}

int main() {
   string str = "tutorialspoint";
   cout << modifyString(str) << endl;
   return 0;
}
Copier après la connexion

Sortie

tatiriolspount
Copier après la connexion

Cas de test

Testons le code avec quelques exemples supplémentaires :

Exemple 1

Input: "quick brown fox jumps over the lazy dog"
Output: "qaeck brewn fix jomps ovor tho luzy dug"
Copier après la connexion

Exemple 2

Input: "the quick brown fox"
Output: "the qiock brown fux"
Copier après la connexion

Dans les deux exemples, les voyelles sont réorganisées par ordre alphabétique selon leurs indices respectifs, tandis que les consonnes conservent leur ordre d'origine.

Conclusion

En résumé, nous avons expliqué comment modifier une chaîne donnée en C++ en réorganisant les voyelles par ordre alphabétique à leurs indices respectifs. Nous expliquons également l'approche utilisée pour résoudre ce problème et fournissons du code fonctionnel avec des exemples. En utilisant les méthodes mentionnées dans cet article, nous pouvons facilement résoudre des problèmes similaires et modifier la chaîne selon nos besoins.

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