Maison  >  Article  >  développement back-end  >  Chiffrer une chaîne en répétant le i-ème caractère i fois

Chiffrer une chaîne en répétant le i-ème caractère i fois

王林
王林avant
2023-08-31 17:29:191140parcourir

Chiffrer une chaîne en répétant le i-ème caractère i fois

Présentation

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

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é.

Grammaire

str.length()

Longueur()

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

Algorithme

  • 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

Exemple

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;
}

Sortie

Input string heyy
Encrypted string heeyyyyyyy

Conclusion

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer