# Program to find the Encrypted word

Given a string, the given string is an encrypted word, the task is to decrypt the given string to get the original word.

Examples:

```Input: str = "abcd"
Output: bdee
Explanation:
a -> a + 1 -> b
b -> b + 2 -> d
c -> c + 2 -> e
d -> d + 1 -> e

Input: str = "xyz"
Output: yaa
Explanation:
x -> x + 1 -> y
y -> y + 2 -> a
z -> z + 1 -> a
```

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

Approach:

• Let the length of the string be n.
• then the encrypted string will be:
• Print the string after finding the scrypted word.

Below is the implementation of the above approach:

## C++

 `// C++ program to implement  ` `// the above approach ` ` `  `#include ` `using` `namespace` `std; ` ` `  `// Function to find the encrypted string ` `void` `findWord(string c, ``int` `n) ` `{ ` `    ``int` `co = 0, i; ` ` `  `    ``// to store the encrypted string ` `    ``string s(n, ``' '``); ` ` `  `    ``for` `(i = 0; i < n; i++) { ` `        ``if` `(i < n / 2) ` `            ``co++; ` `        ``else` `            ``co = n - i; ` ` `  `        ``// after 'z', it should go to a. ` `        ``if` `(c[i] + co <= 122) ` `            ``s[i] = (``char``)((``int``)c[i] + co); ` `        ``else` `            ``s[i] = (``char``)((``int``)c[i] + co - 26); ` `    ``} ` `    ``cout << s; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``string s = ``"abcd"``; ` `    ``findWord(s, s.length()); ` `    ``return` `0; ` `} `

## Java

 `// Java program to implement the above approach ` `import` `java.util.*; ` `import` `java.io.*; ` ` `  `class` `GFG ` `{ ` ` `  `// Static function declared to find ` `// the encrypted string ` `public` `static` `void` `findWord(String c, ``int` `n) ` `{ ` `    ``int` `co = ``0``, i; ` ` `  `    ``// Character array to store ` `    ``//the encrypted string ` `    ``char` `s[] = ``new` `char``[n]; ` `     `  `    ``for` `(i = ``0``; i < n ; i++) ` `    ``{ ` `        ``if` `(i < n / ``2``) ` `            ``co++; ` `        ``else` `            ``co = n - i; ` ` `  `        ``// after 'z', it should go to a. ` `        ``if` `((c.charAt(i) + co) <= ``122``) ` `            ``s[i] = (``char``)((``int``)c.charAt(i) + co); ` `        ``else` `            ``s[i] = (``char``)((``int``)c.charAt(i) + co - ``26``); ` `    ``} ` `     `  `    ``// storing the character array in the string. ` `    ``String str = Arrays.toString(s); ` `    ``System.out.println(str); ` `} ` ` `  `// Driver code ` `public` `static` `void` `main(String args[]) ` `{ ` `    ``String s = ``"abcd"``; ` `    ``findWord(s, s.length()); ` `} ` `} ` ` `  `// This code is contributed by Animesh_Gupta `

Output:

```bdee
```

Time Complexity: O(N)

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : Animesh_Gupta