Rentetan C++ ialah himpunan perkataan yang terdiri daripada aksara. Ia boleh mengandungi huruf, nombor dan juga aksara khas. Ayat rentetan boleh digabungkan bersama dalam cara yang berbeza untuk membentuk jenis perwakilan yang berbeza.
Notasi huruf unta ialah perwakilan rentetan yang mengekalkan dua atribut berikut tidak berubah -
Perkataan itu dirangkaikan tanpa aksara ruang.
Huruf pertama setiap perkataan disimpan dalam huruf besar.
Oleh itu, huruf besar dalam perwakilan ini boleh digunakan untuk memisahkan perkataan yang berbeza. Jenis perwakilan ini tidak mudah dibaca, tetapi digunakan secara meluas dalam pengaturcaraan.
Satu lagi perwakilan rentetan ialah huruf besar ayat, di mana perkataan dipisahkan oleh aksara ruang dan semua kecuali perkataan pertama bermula dengan huruf kecil.
Dalam soalan di bawah, kes unta rentetan yang diberikan mesti ditukar kepada perwakilan kes ayat.
Beberapa contoh untuk menggambarkan penyataan masalah adalah seperti berikut -
Contoh 1 - str: IdentifyThe@abc
Output: Kenali @abc
Nota: Aksara khas juga dicetak seperti sedia ada
Contoh 2 - str:ThisIsCamelCase
Output: Ini ialah camelCase
Nota: Huruf pertama dicetak seperti sedia ada semasa pengeluaran.
Masalah ini boleh diselesaikan dengan menyemak kes aksara dan menukarnya kepada kes bertentangan jika perlu.
Langkah 1 − Gunakan gelung for untuk mengulangi rentetan input yang disediakan.
Langkah 2 - Jika penunjuk berada pada aksara pertama, cetaknya sebagaimana adanya.
Langkah 3 - Untuk aksara yang tinggal, jika huruf besar ditemui, paparkan aksara ruang dahulu. Surat itu kemudiannya ditukar kepada huruf kecil dan dipaparkan.
Langkah 4 − Jika tidak, mana-mana aksara huruf kecil dicetak seperti sedia ada. Langkah 5 - Jika tidak, sebarang aksara khas dicetak seperti sedia ada.
Coretan kod berikut mengambil rentetan camelCase C++ sebagai contoh dan menukarnya kepada huruf besar -
//including the required libraries #include <bits/stdc++.h> using namespace std; //convert camelcase string to sentence case respectively void sentenceCase(string str){ //getting the length of string int len = str.length(); //iterating over the string for(int i=0;i<len;i++) { //printing the first character of the string if(i==0){ cout << str[0]; } else { //check if current character is in upper case convert to lower case and insert a space before it to separate the words if (str[i] >= 'A' && str[i] <= 'Z'){ //printing a space before character cout << " " ; char ch = (char)tolower(str[i]); //printing the character in lower case cout << ch; } //if character already in lower case print as it is else cout << str[i]; } } } //calling the method int main(){ //sample string string s = "ConvertCamelCaseToSentenceCase"; cout<<"Entered String :"<<s; cout<<"\nConverted String:"; //print the sentence case sentenceCase(s); return 0; }
Entered String :ConvertCamelCaseToSentenceCase Converted String:Convert camel case to sentence case
Jika ia adalah rentetan, penukaran kes boleh dilakukan dengan mudah. Kes ayat untuk rentetan meningkatkan kebolehbacaan. Anda boleh menjadikan perkataan lebih mudah difahami dengan memisahkannya dengan ruang. Dalam kes yang paling teruk, kerumitan masa bagi kaedah yang dinyatakan di atas ialah O(n), dengan n ialah panjang rentetan. Oleh itu, algoritma berfungsi dalam masa linear. Kerumitan ruang bagi algoritma yang dinyatakan di atas ialah O(1), yang bersifat malar.
Atas ialah kandungan terperinci Diberikan rentetan yang dinamakan camelCase, tukarkannya ke dalam format ayat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!