Heim > Backend-Entwicklung > C++ > Ändern Sie eine Zeichenfolge, indem Sie Vokale entsprechend ihrer Indexposition in der Zeichenfolge neu anordnen

Ändern Sie eine Zeichenfolge, indem Sie Vokale entsprechend ihrer Indexposition in der Zeichenfolge neu anordnen

王林
Freigeben: 2023-09-06 18:53:06
nach vorne
966 Leute haben es durchsucht

Ändern Sie eine Zeichenfolge, indem Sie Vokale entsprechend ihrer Indexposition in der Zeichenfolge neu anordnen

In diesem Artikel besprechen wir, wie man eine bestimmte Zeichenfolge in C++ ändert, indem man Vokale alphabetisch an ihren jeweiligen Indizes neu anordnet. Außerdem erläutern wir die Methoden zur Lösung dieses Problems und stellen Beispiele mit Testfällen bereit.

Problemstellung

Ordnen Sie bei einer vorgegebenen Zeichenfolge die Vokale an ihren jeweiligen Indizes in alphabetischer Reihenfolge neu an. Die Konsonanten in der Zeichenfolge sollten ihre ursprüngliche Reihenfolge beibehalten. Bei gegebener Zeichenfolge „tutorialspoint“ sollte die Ausgabe beispielsweise „tatiriolspount“ lauten.

Methode

Dieses Problem kann mit einem einfachen Algorithmus gelöst werden. Wir können zunächst eine separate Zeichenfolge erstellen, die alle Vokale in der angegebenen Zeichenfolge in ihrer jeweiligen Reihenfolge enthält. Wir können diese Zeichenfolge dann alphabetisch sortieren. Schließlich können wir die Vokale in der ursprünglichen Zeichenfolge durch die Vokale an ihren jeweiligen Indizes in der sortierten Zeichenfolge ersetzen.

Beispiel

Sehen wir uns den schrittweisen Ansatz im C++-Code an -

#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;
}
Nach dem Login kopieren

Ausgabe

tatiriolspount
Nach dem Login kopieren

Testfälle

Lass uns den Code mit einigen zusätzlichen Beispielen testen:

Beispiel 1

Input: "quick brown fox jumps over the lazy dog"
Output: "qaeck brewn fix jomps ovor tho luzy dug"
Nach dem Login kopieren

Beispiel 2

Input: "the quick brown fox"
Output: "the qiock brown fux"
Nach dem Login kopieren

In beiden Beispielen werden die Vokale alphabetisch an ihren jeweiligen Indizes neu angeordnet, während die Konsonanten ihre ursprüngliche Reihenfolge beibehalten.

Fazit

Zusammenfassend haben wir besprochen, wie man eine bestimmte Zeichenfolge in C++ ändert, indem man die Vokale alphabetisch an ihren jeweiligen Indizes neu anordnet. Wir erklären auch den Ansatz zur Lösung dieses Problems und stellen Arbeitscode mit Beispielen zur Verfügung. Mithilfe der in diesem Artikel erwähnten Methoden können wir ähnliche Probleme leicht lösen und die Zeichenfolge gemäß unseren Anforderungen ändern.

Das obige ist der detaillierte Inhalt vonÄndern Sie eine Zeichenfolge, indem Sie Vokale entsprechend ihrer Indexposition in der Zeichenfolge neu anordnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage