Gantikan setiap urutan konsonan dalam rentetan yang diberikan dengan panjangnya

PHPz
Lepaskan: 2023-09-08 22:05:02
ke hadapan
756 orang telah melayarinya

Gantikan setiap urutan konsonan dalam rentetan yang diberikan dengan panjangnya

Artikel ini akan membantu kita memahami cara menggantikan jujukan konsonan berturut-turut dalam rentetan tertentu dengan panjangnya. Konsonan ialah rangkaian huruf yang bukan vokal. Di sini, pertama sekali kita perlu menentukan huruf mana dalam rentetan adalah konsonan.

Sebagai contoh, dalam perkataan "abcdiopqrsu", jujukan konsonan "bcd" dan "pqrs". Seterusnya, kami akan menggantikan setiap jujukan konsonan dengan panjangnya. Jadi perkataan "bcd" akan digantikan dengan "3" kerana terdapat tiga konsonan berturut-turut, begitu juga perkataan "pqrs" akan digantikan dengan "4" kerana terdapat empat konsonan yang berturutan.

Algoritma

  • Pertama, kami akan mentakrifkan fungsi ‘isConsonant()’, yang menerima nilai aksara sebagai parameter untuk mengesahkan sama ada ia adalah konsonan dan mengembalikan hasilnya sebagai nilai Boolean. Fungsi ini mengembalikan TRUE jika aksara yang diberikan ialah konsonan, sebaliknya palsu.

    Cari penjelasan logik untuk aksara konsonan

    (dengan == 'a' || dengan == 'e' || dengan == 'i' || dengan == 'o' || dengan == 'u'):

    • con ialah nama pembolehubah.

    • ==: Operator equals menetapkan nilai vokal kepada pembolehubah.

    • ||: Menggunakan operator logik ATAU bitwise, berbilang vokal boleh dibenarkan untuk menetapkan nilai 'con' pembolehubah.

    Kita akan mulakan dengan mentakrifkan 'rentetan' pembolehubah dalam fungsi utama dan menyimpan nilai 'abcdiopqrsu' dalam pembolehubah rentetan. Kemudian, kami akan menggunakan 'hasil' pembolehubah rentetan kosong. Fungsi ini berulang pada setiap aksara dalam rentetan menggunakan gelung for dan untuk setiap aksara ia menyemak sama ada ia adalah konsonan dengan memanggil fungsi 'isConsonant'
  • Jika watak itu ialah konsonan, masukkan gelung while dan teruskan lelaran apabila konsonan seterusnya ditemui. Semasa setiap lelaran gelung while, pemboleh ubah kaunter 'counter' akan dinaikkan. Selepas melengkapkan gelung while, fungsi akan menambah nilai pembilang pada rentetan yang terhasil menggunakan fungsi 'to_string'.

  • Kemudian kami menyemak sama ada watak itu bukan konsonan dan fungsi itu hanya menambah watak itu pada rentetan "hasil".

  • Akhir sekali, kami akan menggunakan pernyataan cout untuk mencetak nilai rentetan yang terhasil

Contoh

diterjemahkan sebagai:

Contoh

Dalam aplikasi ini kita akan belajar cara menggantikan konsonan dan memberikan panjangnya.

#include<iostream>
#include<string>
using namespace std;
bool isConsonant(char con) {
   //Check whether the given character is consonant or not.
   return !( con == 'a' || con == 'e' || con == 'i' || con == 'o' || con == 'u');
}
int main() {
   string str = " abcdiopqrsu";
   string result;
   for( int i=0; i < str.length(); i++) {
      if ( isConsonant(str[i]) ) {
         //Here we have to find the consonant and count its length.
         int counter = 1;
         while( isConsonant( str[i+1] ) ) {
            counter++;
            i++;
         }
         result += to_string( counter );
      } else {
         result += str[i];
      }
   }
    cout<< result << endl ;
    return 0;
}
Salin selepas log masuk

Output

1a3io4u
Salin selepas log masuk

Kesimpulan

Kami meneroka konsep jujukan konsonan dan panjangnya dalam rentetan tertentu. Kami melihat cara menggunakan "sama dengan" (==) dan "logik bitwise ATAU" (||) untuk menyemak aksara konsonan. Kemudian kami menetapkan pembolehubah rentetan dan mengira aksara bukan konsonan dengan jumlah nombornya. Aplikasi berikut digunakan untuk pemprosesan teks, pemampatan data dan pengecaman corak.

Atas ialah kandungan terperinci Gantikan setiap urutan konsonan dalam rentetan yang diberikan dengan panjangnya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!