Related Articles
Program to Encrypt a String using ! and @
• Difficulty Level : Basic
• Last Updated : 04 Mar, 2020

Given a string, the task is to encrypt this string using ! and @ symbols, alternatively. While encrypting the message the encrypted format must repeat the symbol as many times as the letter position in Alphabetical order.

Examples:

```Input: string = "Ab"
Output: !@@
Explanation:
Position of 'A' in alphabetical order is 1
and in String is odd position
so encrypted message will have 1 '!'

Position of 'b' in alphabetical order is 2
and in String is even position
so encrypted message will have 2 '@'

Therefore, the output "!@@"

Input: string = "CDE"
Output: !!!@@@@!!!!!
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: This is a very basic and simple type of Encryption technique and can be done as follows:

• Get the character one by one from the String
• For each character, get the difference between the ASCII value of that character and ‘A'(if the character is a capital letter) or ‘a’ (if the letter is a small letter). This will be the number of times the encryption character is to be repeated.
• For the ith character of the string, if i is odd, the encryption character will be ‘!’ and if i is even, the encryption character will be ‘@’.

Below is the implementation of the above code:

## C++

 `// C++ program to Encrypt the String``// using ! and @``#include ``using` `namespace` `std;`` ` `// Function to encrypt the string``void` `encrypt(``char` `input[100])``{`` ` `    ``// evenPos is for storing encrypting``    ``// char at evenPosition``    ``// oddPos is for storing encrypting``    ``// char at oddPosition``    ``char` `evenPos = ``'@'``, oddPos = ``'!'``;`` ` `    ``int` `repeat, ascii;`` ` `    ``for` `(``int` `i = 0; i <= ``strlen``(input); i++) ``    ``{`` ` `        ``// Get the number of times the character``        ``// is to be repeated``        ``ascii = input[i];``        ``repeat = ascii >= 97 ? ascii - 96 : ascii - 64;`` ` `        ``for` `(``int` `j = 0; j < repeat; j++)``        ``{``             ` `            ``// if i is odd, print '!'``            ``// else print '@'``            ``if` `(i % 2 == 0)``                ``cout << oddPos;``            ``else``                ``cout << evenPos;``        ``}``    ``}``}`` ` `// Driver code``int` `main()``{``    ``char` `input[100] = { ``'A'``, ``'b'``, ``'C'``, ``'d'` `};`` ` `    ``// Encrypt the String``    ``encrypt(input);``    ``return` `0;``}`` ` `// This code is contributed by``// shubhamsingh10`

## C

 `// C program to Encrypt the String``// using ! and @`` ` `#include ``#include `` ` `// Function to encrypt the string``void` `encrypt(``char` `input[100])``{`` ` `    ``// evenPos is for storing encrypting``    ``// char at evenPosition``    ``// oddPos is for storing encrypting``    ``// char at oddPosition``    ``char` `evenPos = ``'@'``, oddPos = ``'!'``;`` ` `    ``int` `repeat, ascii;`` ` `    ``for` `(``int` `i = 0; i <= ``strlen``(input); i++) {`` ` `        ``// Get the number of times the character``        ``// is to be repeated``        ``ascii = input[i];``        ``repeat = ascii >= 97 ? ascii - 96 : ascii - 64;`` ` `        ``for` `(``int` `j = 0; j < repeat; j++) {``            ``// if i is odd, print '!'``            ``// else print '@'``            ``if` `(i % 2 == 0)``                ``printf``(``"%c"``, oddPos);``            ``else``                ``printf``(``"%c"``, evenPos);``        ``}``    ``}``}`` ` `// Driver code``void` `main()``{``    ``char` `input[100] = { ``'A'``, ``'b'``, ``'C'``, ``'d'` `};`` ` `    ``// Encrypt the String``    ``encrypt(input);``}`

## Java

 `// Java program to Encrypt the String``// using ! and @``class` `GFG ``{`` ` `// Function to encrypt the string``static` `void` `encrypt(``char` `input[])``{`` ` `    ``// evenPos is for storing encrypting``    ``// char at evenPosition``    ``// oddPos is for storing encrypting``    ``// char at oddPosition``    ``char` `evenPos = ``'@'``, oddPos = ``'!'``;`` ` `    ``int` `repeat, ascii;`` ` `    ``for` `(``int` `i = ``0``; i < input.length; i++)``    ``{`` ` `        ``// Get the number of times the character``        ``// is to be repeated``        ``ascii = input[i];``        ``repeat = ascii >= ``97` `? ``                  ``ascii - ``96` `: ascii - ``64``;`` ` `        ``for` `(``int` `j = ``0``; j < repeat; j++)``        ``{``            ``// if i is odd, print '!'``            ``// else print '@'``            ``if` `(i % ``2` `== ``0``)``                ``System.out.printf(``"%c"``, oddPos);``            ``else``                ``System.out.printf(``"%c"``, evenPos);``        ``}``    ``}``}`` ` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``char` `input[] = { ``'A'``, ``'b'``, ``'C'``, ``'d'` `};`` ` `    ``// Encrypt the String``    ``encrypt(input);``}``} `` ` `// This code is contributed by PrinciRaj1992`

## Python3

 `# Python3 program to Encrypt the String ``# using ! and @ `` ` `# Function to encrypt the string ``def` `encrypt(input_arr) :`` ` `    ``# evenPos is for storing encrypting ``    ``# char at evenPosition ``    ``# oddPos is for storing encrypting ``    ``# char at oddPosition ``    ``evenPos ``=` `'@'``; oddPos ``=` `'!'``; `` ` `    ``for` `i ``in` `range``(``len``(input_arr)) :`` ` `        ``# Get the number of times the character ``        ``# is to be repeated ``        ``ascii ``=` `ord``(input_arr[i]); ``        ``repeat ``=` `(ascii ``-` `96` `) ``if` `ascii >``=` `97` `\``                               ``else` `(ascii ``-` `64``); `` ` `        ``for` `j ``in` `range``(repeat) :``             ` `            ``# if i is odd, print '!' ``            ``# else print '@' ``            ``if` `(i ``%` `2` `=``=` `0``) :``                ``print``(oddPos, end ``=` `""); ``            ``else` `:``                ``print``(evenPos, end ``=` `""); `` ` `# Driver code ``if` `__name__ ``=``=` `"__main__"` `: `` ` `    ``input_arr ``=` `[ ``'A'``, ``'b'``, ``'C'``, ``'d'` `]; `` ` `    ``# Encrypt the String ``    ``encrypt(input_arr); ``     ` `# This code is contributed by AnkitRai01`

## C#

 `// C# program to Encrypt the String``// using ! and @``using` `System;``using` `System.Collections.Generic;`` ` `class` `GFG ``{`` ` `// Function to encrypt the string``static` `void` `encrypt(``char` `[]input)``{`` ` `    ``// evenPos is for storing encrypting``    ``// char at evenPosition``    ``// oddPos is for storing encrypting``    ``// char at oddPosition``    ``char` `evenPos = ``'@'``, oddPos = ``'!'``;`` ` `    ``int` `repeat, ascii;`` ` `    ``for` `(``int` `i = 0; i < input.Length; i++)``    ``{`` ` `        ``// Get the number of times the character``        ``// is to be repeated``        ``ascii = input[i];``        ``repeat = ascii >= 97 ? ``                ``ascii - 96 : ascii - 64;`` ` `        ``for` `(``int` `j = 0; j < repeat; j++)``        ``{``            ``// if i is odd, print '!'``            ``// else print '@'``            ``if` `(i % 2 == 0)``                ``Console.Write(``"{0}"``, oddPos);``            ``else``                ``Console.Write(``"{0}"``, evenPos);``        ``}``    ``}``}`` ` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``char` `[]input = { ``'A'``, ``'b'``, ``'C'``, ``'d'` `};`` ` `    ``// Encrypt the String``    ``encrypt(input);``}``} `` ` `// This code is contributed by 29AjayKumar`
Output:
```!@@!!!@@@@
```

My Personal Notes arrow_drop_up