


Gantikan semua konsonan dalam rentetan dengan vokal terdekat menggunakan program C++
Kaedah ini bertujuan untuk menggantikan rentetan konsonan dengan vokal terdekat dalam abjad (juga dikenali sebagai huruf Latin huruf kecil). Jika dua vokal adalah sama rapat, kita boleh menggantikannya dengan vokal pertama dalam huruf tersebut.
Mari kita lihat beberapa senario input -
Andaikan kita mempunyai rentetan, seperti "ebgkjasjd", kini kita perlu menggantikan semua kemunculan konsonan dalam rentetan itu dengan vokal terdekat.
Input = "ebgkjasjd"; Result = ebgkjasjd eaeiiauie
Ganti unsur 'b' dengan 'a' kerana ia adalah vokal terdekat. Kita boleh menggantikan elemen 'g' dengan 'e' atau 'i' kerana kedua-duanya sama-sama terbaharu, tetapi kami memilih untuk menggantikannya dengan 'e' memandangkan ia datang dahulu. Perkara yang sama berlaku untuk semua elemen lain dalam rentetan.
Andaikan jika rentetan input tidak mengandungi sebarang vokal, sebagai contoh, pertimbangkan rentetan: "sdfhgtykl", output yang terhasil ialah -
Input = "sdfhgtykl"; Result = sdfhgtykl ueeieuuii
Untuk unsur pertama 's', vokal 'u' adalah yang paling hampir, jadi gantikan 's' dengan 'u'. Seperti semua elemen lain dalam tatasusunan, ia adalah konsonan. Keadaan ini juga menghasilkan kerumitan kaedah terburuk.
Algoritma
Lintas rentetan input bermula dari indeks permulaan.
Jika konsonan ditemui, bilangan huruf daripada konsonan itu kepada dua vokal terdekat di kiri dan kanan akan dikira. Pilih vokal dengan huruf yang lebih sedikit.
Proses ini akan diulang sehingga semua konsonan dalam rentetan telah dilalui.
Output yang diperolehi ialah rentetan yang diganti.
Contoh
Berikut ialah kod yang dilaksanakan dalam C++ untuk menggantikan semua konsonan dalam rentetan dengan vokal terdekat dalam abjad -
#include <iostream> using namespace std; void solve(string& s) { for(char &ch : s) { if(ch>'a' && ch<'e') { if(ch-'a' <= 'e'-ch) ch='a'; else ch='e'; } else if(ch>'e' && ch<'i') { if(ch-'e' <= 'i'-ch) ch='e'; else ch='i'; } else if(ch>'i' && ch<'o') { if(ch-'i' <= 'o'-ch) ch='i'; else ch='o'; } else if(ch>'o' && ch<'u') { if(ch-'o' <= 'u'-ch) ch='o'; else ch='u'; } else if(ch>'u') { ch = 'u'; } } } int main() { string s = "ibgshzjbsh"; cout << s << "\n"; solve(s); cout << s; return 0; }
Output
“ibgshzjbsh” “iaeuiuiaui”
Contoh
Walau bagaimanapun, pendekatan yang lebih baik ialah menggunakan tatasusunan dan menyimpan jawapan aksara yang paling hampir untuk setiap aksara dan bukannya menggunakan banyak syarat if-else.
#include <iostream> #include <vector> using namespace std; string solve(string s) { string hash = "aaaeeeeiiiiioooooouuuuuuuu"; for (int i=0;i<s.size();i++) { s[i] = hash[s[i]-'a']; } return s; } int main() { string s = "ibgshzjbsh"; cout << solve(s); return 0; }
Output
iaeuiuiaui
Kesimpulan
Kita boleh menggantikan elemen dengan mencari dan menggantikannya dengan watak yang paling hampir. Kerumitan masa melintasi rentetan ialah O(n). Kaedah kedua lebih mudah difahami dan dikodkan, dan kurang menyusahkan. Kerumitan masa juga O(n) kerana kita hanya mengulangi rentetan sekali sahaja.
Atas ialah kandungan terperinci Gantikan semua konsonan dalam rentetan dengan vokal terdekat menggunakan program C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Penjelasan terperinci tentang kaedah menukar jenis int kepada rentetan dalam PHP Dalam pembangunan PHP, kita sering menghadapi keperluan untuk menukar jenis int kepada jenis rentetan. Penukaran ini boleh dicapai dalam pelbagai cara Artikel ini akan memperkenalkan beberapa kaedah biasa secara terperinci, dengan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Gunakan fungsi terbina dalam PHP strval(). PHP menyediakan fungsi terbina dalam strval() yang boleh menukar pembolehubah jenis yang berbeza kepada jenis rentetan. Apabila kita perlu menukar jenis int kepada jenis rentetan,

1. Mula-mula buka pycharm dan masukkan halaman utama pycharm. 2. Kemudian buat skrip python baru, klik kanan - klik baru - klik pythonfile. 3. Masukkan rentetan, kod: s="-". 4. Kemudian anda perlu mengulang simbol dalam rentetan sebanyak 20 kali, kod: s1=s*20 5. Masukkan kod output cetakan, kod: print(s1). 6. Akhir sekali jalankan skrip dan anda akan melihat nilai pulangan kami di bahagian bawah: - diulang 20 kali.

Bahasa Go ialah bahasa pengaturcaraan yang berkuasa dan fleksibel yang menyediakan fungsi pemprosesan rentetan yang kaya, termasuk pemintasan rentetan. Dalam bahasa Go, kita boleh menggunakan kepingan untuk memintas rentetan. Seterusnya, kami akan memperkenalkan secara terperinci cara memintas rentetan dalam bahasa Go, dengan contoh kod khusus. 1. Gunakan penghirisan untuk memintas rentetan Dalam bahasa Go, anda boleh menggunakan ungkapan menghiris untuk memintas sebahagian daripada rentetan. Sintaks ungkapan slice adalah seperti berikut: slice:=str[start:end]where, s

Tajuk: Bagaimana untuk menentukan sama ada rentetan berakhir dengan aksara tertentu dalam Golang Dalam bahasa Go, kadangkala kita perlu menentukan sama ada rentetan berakhir dengan aksara tertentu Ini adalah perkara biasa semasa memproses rentetan. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan fungsi ini dan memberikan contoh kod untuk rujukan anda. Mula-mula, mari kita lihat cara untuk menentukan sama ada rentetan berakhir dengan aksara tertentu dalam Golang. Aksara dalam rentetan dalam Golang boleh diperoleh melalui pengindeksan, dan panjang rentetan itu boleh

Bagaimana untuk menyemak sama ada rentetan bermula dengan aksara tertentu dalam Golang? Apabila pengaturcaraan di Golang, anda sering menghadapi situasi di mana anda perlu menyemak sama ada rentetan bermula dengan aksara tertentu. Untuk memenuhi keperluan ini, kita boleh menggunakan fungsi yang disediakan oleh pakej rentetan di Golang untuk mencapainya. Seterusnya, kami akan memperkenalkan secara terperinci cara menggunakan Golang untuk menyemak sama ada rentetan bermula dengan aksara tertentu, dengan contoh kod tertentu. Di Golang, kita boleh menggunakan HasPrefix daripada pakej rentetan

Kaedah untuk menyelesaikan masalah aksara Cina yang kacau apabila menukar rentetan perenambelasan dalam PHP Dalam pengaturcaraan PHP, kadangkala kita menghadapi situasi di mana kita perlu menukar rentetan heksadesimal kepada aksara Cina biasa. Walau bagaimanapun, dalam proses penukaran ini, kadangkala anda akan menghadapi masalah aksara Cina yang kacau. Artikel ini akan memberi anda kaedah untuk menyelesaikan masalah aksara Cina yang bercelaru apabila menukar perenambelasan kepada rentetan dalam PHP dan memberikan contoh kod khusus. Gunakan fungsi hex2bin() untuk penukaran heksadesimal PHP terbina dalam fungsi hex2bin() boleh menukar 1

Rentetan dalam GoLang, walaupun tidak boleh diubah, boleh diubah suai secara dinamik menggunakan teknik berikut: menggabungkan rentetan menggunakan penggabungan rentetan. Buat rentetan baharu menggunakan pemformatan rentetan. Ubah suai kepingan bait asas rentetan. Gunakan jenis rentetan boleh ubah yang disediakan oleh perpustakaan pihak ketiga.

Operasi Rentetan PHP: Buang Koma Tambahan dan Simpan Hanya Petua Pelaksanaan Koma Dalam pembangunan PHP, pemprosesan rentetan adalah keperluan yang sangat biasa. Kadangkala kita perlu memproses rentetan untuk mengalih keluar koma tambahan dan mengekalkan satu-satunya koma. Dalam artikel ini, saya akan memperkenalkan teknik pelaksanaan dan memberikan contoh kod konkrit. Mula-mula, mari kita lihat keperluan biasa: Katakan kita mempunyai rentetan yang mengandungi berbilang koma dan kita perlu mengalih keluar koma tambahan dan hanya menyimpan koma unik. Sebagai contoh, gantikan "apple,ba
