Home >Backend Development >C++ >Encrypt a string by repeating the i-th character i times

Encrypt a string by repeating the i-th character i times

王林
王林forward
2023-08-31 17:29:191147browse

Encrypt a string by repeating the i-th character i times

Introduction

C A string is a fixed sequence of alphanumeric characters. It is a continuous stream of characters, which can be numbers, characters or even special symbols. Every string has a certain length. Access character positions start from 0.

Strings can contain unique characters or repeated characters concatenated together. They can perform various operations and series operations.

In this article, we will develop a code that takes a string as input and displays the encrypted string where the first character is repeated 1 time and the second character is repeated 2 times. Repeat this process until the length of the string is reached. Let us see the following example to understand this topic better -

Example

Example 1 - str - "g@m$"

Output - g@@mmm$$$$

For example, the example string below also contains special characters that are repeated based on the character's position in the string.

In this article, we will create a solution to count the number of times a character at a specific position should be repeated. The extracted characters are then appended to the resulting output string until the count is exhausted.

grammar

str.length()

length()

The size of a string can be captured through the length() method, which is used to return the alphanumeric characters and special symbols contained in the string

algorithm

  • Accepts input string str as input

  • A counter, cnt is used to store the number of times each character should be repeated. Its initial value is 0.

  • The length of the string is calculated using the length() method and stored in a variable named len

  • Extract the character at the i-th position each time.

  • The counter cnt is calculated by increasing position i by 1.

  • Execute a decreasing loop initialized with the counter value, appending the extracted characters to the output string res

  • The counter value is decremented each time

  • After performing the required number of iterations on the character, the pointer will move to the next character

Example

The following C code snippet is used to create an encrypted string based on the given input example string -

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

Output

Input string heyy
Encrypted string heeyyyyyyy

in conclusion

C The character position in the string starts from the 0th index by default. A string is a dynamic-length storage structure in which characters can be appended easily any number of times. In C, string concatenation can be easily performed using the operator. Each time a character is added, the length of the string increases by 1.

The above is the detailed content of Encrypt a string by repeating the i-th character i times. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete