Maison > Article > développement back-end > Chiffrer une chaîne en répétant le i-ème caractère i fois
Les chaînes C++ sont des séquences fixes de caractères alphanumériques. Il s'agit d'un flux continu de caractères, qui peuvent être des chiffres, des caractères ou même des symboles spéciaux. Chaque chaîne a une certaine longueur. Les positions des caractères d'accès commencent à 0.
Les chaînes peuvent contenir des caractères uniques ou des caractères répétés concaténés ensemble. Ils peuvent effectuer diverses opérations et opérations en série.
Dans cet article, nous allons développer un code qui prend une chaîne en entrée et affiche la chaîne cryptée où le premier caractère est répété 1 fois et le deuxième caractère est répété 2 fois. Répétez ce processus jusqu'à ce que la longueur de la chaîne soit atteinte. Voyons l'exemple ci-dessous pour mieux comprendre ce sujet -
Exemple 1 - str - "g@m$"
Sortie - g@@mmm$$$$
Par exemple, l'exemple de chaîne ci-dessous contient également des caractères spéciaux qui sont répétés en fonction de la position du caractère dans la chaîne.
Dans cet article, nous allons créer une solution pour compter le nombre de fois qu'un caractère à une position spécifique doit être répété. Les caractères extraits sont ensuite ajoutés à la chaîne de sortie résultante jusqu'à ce que le décompte soit épuisé.
str.length()
La taille d'une chaîne peut être capturée via la méthode length(), qui est utilisée pour renvoyer les caractères alphanumériques et les symboles spéciaux contenus dans la chaîne
Accepte la chaîne d'entrée str comme entrée
Un compteur, cnt, est utilisé pour stocker le nombre de fois où chaque caractère doit être répété. Sa valeur initiale est 0.
La longueur de la chaîne est calculée à l'aide de la méthode length() et stockée dans une variable nommée len
Extrayez le caractère à la i-ème position à chaque fois.
Le compteur cnt est calculé en augmentant la position i de 1.
Exécutez une boucle décroissante initialisée avec la valeur du compteur, en ajoutant les caractères extraits à la chaîne de sortie res
La valeur du compteur diminue à chaque fois
Après avoir effectué le nombre d'itérations requis sur le personnage, le pointeur se déplacera vers le personnage suivant
L'extrait de code C++ suivant est utilisé pour créer une chaîne cryptée basée sur un exemple de chaîne d'entrée donné -
//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
Les positions des caractères dans les chaînes C++ commencent par défaut à partir du 0ème index. Une chaîne est une structure de stockage de longueur dynamique dans laquelle des caractères peuvent être ajoutés facilement un nombre illimité de fois. En C++, la concaténation de chaînes peut être facilement effectuée à l’aide de l’opérateur +. Chaque fois qu'un caractère est ajouté, la longueur de la chaîne augmente de 1.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!