Rentetan C++ ialah urutan tetap aksara alfanumerik. Ia adalah aliran aksara yang berterusan, yang boleh menjadi nombor, aksara atau bahkan simbol khas. Setiap rentetan mempunyai panjang tertentu. Akses kedudukan aksara bermula dari 0.
String boleh mengandungi aksara unik atau aksara berulang yang digabungkan bersama. Mereka boleh melakukan pelbagai operasi dan operasi siri.
Dalam artikel ini, kami akan membangunkan kod yang mengambil rentetan sebagai input dan memaparkan rentetan yang disulitkan di mana aksara pertama diulang 1 kali dan aksara kedua diulang 2 kali. Ulangi proses ini sehingga panjang rentetan dicapai. Mari lihat contoh di bawah untuk memahami topik ini dengan lebih baik -
Contoh 1 - str - "g@m$"
Output - g@@mmm$$$$
Sebagai contoh, contoh rentetan di bawah juga mengandungi aksara khas yang diulang berdasarkan kedudukan aksara dalam rentetan.
Dalam artikel ini, kami akan mencipta penyelesaian untuk mengira bilangan kali watak pada kedudukan tertentu harus diulang. Aksara yang diekstrak kemudiannya dilampirkan pada rentetan output yang terhasil sehingga kiraan habis.
str.length()
Saiz rentetan boleh ditangkap melalui kaedah length(), yang digunakan untuk mengembalikan aksara alfanumerik dan simbol khas yang terkandung dalam rentetan
Menerima str rentetan input sebagai input
Kaunter, cnt digunakan untuk menyimpan bilangan kali setiap aksara perlu diulang. Nilai awalnya ialah 0.
Panjang rentetan dikira menggunakan kaedah length() dan disimpan dalam pembolehubah bernama len
Ekstrak watak pada kedudukan ke-i setiap kali.
Cnt kaunter dikira dengan meningkatkan kedudukan i sebanyak 1.
Laksanakan gelung menurun yang dimulakan dengan nilai pembilang, tambahkan aksara yang diekstrak pada rentetan output res
Nilai kaunter menurun setiap kali
Selepas melakukan bilangan lelaran yang diperlukan pada aksara, penunjuk akan beralih ke aksara seterusnya
Coretan kod C++ berikut digunakan untuk mencipta rentetan yang disulitkan berdasarkan rentetan contoh input yang diberikan -
//including the required libraries #include <bits/stdc++.h> using namespace std; // Function to return the encrypted string string encrypt(string str) { //counter to store the number of times a character is repeated int cnt = 0; //storing the encrypted string string res = ""; //computing the length of the string int len = str.length(); for(int i =0 ; i<len ; ) { //getting the count of the number of times the character will be repeated cnt = i + 1; //repeating the current character while (cnt){ //extracting the character at ith index char ch = str[i]; //adding the character to output string res += ch; //decrementing the count cnt--; } i++; } cout << "Encrypted string "<< res; } int main() { //taking a input string string str = "heyy"; cout << "Input string "<< str <<"\n";; //creating an encrypted string encrypt(str); return 0; }
Input string heyy Encrypted string heeyyyyyyy
Kedudukan aksara dalam rentetan C++ bermula dari indeks ke-0 secara lalai. Rentetan ialah struktur storan panjang dinamik di mana aksara boleh ditambah dengan mudah dalam beberapa kali. Dalam C++, penggabungan rentetan boleh dilakukan dengan mudah menggunakan operator +. Setiap kali aksara ditambah, panjang rentetan bertambah 1.
Atas ialah kandungan terperinci Sulitkan rentetan dengan mengulangi aksara ke-i kali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!