Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ubah suai rentetan dengan menyusun semula vokal mengikut kedudukan indeksnya dalam rentetan

Ubah suai rentetan dengan menyusun semula vokal mengikut kedudukan indeksnya dalam rentetan

王林
王林ke hadapan
2023-09-06 18:53:06889semak imbas

Ubah suai rentetan dengan menyusun semula vokal mengikut kedudukan indeksnya dalam rentetan

Dalam artikel ini, kita akan membincangkan cara mengubah suai rentetan yang diberikan dalam C++ dengan menyusun semula huruf vokal mengikut abjad pada indeks masing-masing. Kami juga akan menerangkan kaedah yang digunakan untuk menyelesaikan masalah ini dan memberikan contoh dengan kes ujian.

Pernyataan Masalah

Diberi rentetan, susun semula vokal pada indeks masing-masing dalam susunan abjad. Konsonan dalam rentetan harus mengekalkan susunan asalnya. Sebagai contoh, memandangkan rentetan "tutorialspoint", output mestilah "tatiriolspount".

Kaedah

Masalah ini boleh diselesaikan menggunakan algoritma mudah. Mula-mula kita boleh mencipta rentetan berasingan yang mengandungi semua vokal dalam rentetan yang diberikan dalam susunan masing-masing. Kemudian kita boleh mengisih rentetan itu mengikut abjad. Akhir sekali, kita boleh menggantikan vokal dalam rentetan asal dengan vokal pada indeks masing-masing dalam rentetan yang disusun.

Contoh

Mari lihat pendekatan langkah demi langkah dalam kod 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;
}

Output

tatiriolspount

Kes Ujian

Mari kita uji kod dengan beberapa contoh tambahan:

Contoh 1

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

Contoh 2

Input: "the quick brown fox"
Output: "the qiock brown fux"

Dalam kedua-dua contoh, vokal disusun semula mengikut abjad pada indeks masing-masing, manakala konsonan mengekalkan susunan asalnya.

Kesimpulan

Ringkasnya, kami membincangkan cara mengubah suai rentetan yang diberikan dalam C++ dengan menyusun semula huruf vokal mengikut abjad pada indeks masing-masing. Kami juga menerangkan pendekatan yang digunakan untuk menyelesaikan masalah ini dan menyediakan kod kerja dengan contoh. Dengan menggunakan kaedah yang dinyatakan dalam artikel ini, kami boleh menyelesaikan masalah yang sama dengan mudah dan mengubah suai rentetan mengikut keperluan kami.

Atas ialah kandungan terperinci Ubah suai rentetan dengan menyusun semula vokal mengikut kedudukan indeksnya dalam rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam