Program to print reciprocal of letters

Given a string S, we need to find reciprocal of it. The reciprocal of the letter is found by finding the difference between the position of the letter and first letter ‘A’. Then moving the same number of steps from letter ‘Z’. The character that we reach after above steps is reciprocal.

Reciprocal of Z is A and vice versa because if you reverse the position of the alphabet A will be in the position of Z.
Similarly, T is the reciprocal of G, J is the reciprocal of Q.

Examples :

Input  :    PRAKHAR
Output :    KIZPSZI

Input  :    VARUN
Output :    EZIFM

Just use a mathematical formula which gives the reciprocal of each character

Reciprocal(x) = ASCII(‘Z’) – ASCII(x) + ASCII(‘A’)

The ASCII value of Z and A will change according
to the uppercase and lowercase.

C++


[sourcecode language=”CPP”]
// CPP program to find Reciprocal string
#include <bits/stdc++.h>
using namespace std;

// To print reciprocal string
void reciprcalString(string word)
{
char ch;
for (int i = 0; i < word.length(); i++) {
// converting uppercase character
// To reciprocal character
// display the character
if (isupper(word[i])) {
ch = ‘Z’ – word[i] + ‘A’;
cout << ch;
}

// converting lowercase character
// To reciprocal character
// display the character
else if (islower(word[i])) {
ch = ‘z’ – word[i] + ‘a’;
cout << ch;
}

else {
cout << word[i];
}
}
}

// Driver function
int main()
{
string s = "Geeks for Geeks";
cout << "The reciprocal of " << s
<< " is – " << endl;
reciprcalString(s);
return 0;
}
[/sourcecode]

Java


[sourcecode language=”java”]
// JAVA program to illustrate…
// Reciprocal Letters
import java.io.*;
import java.math.*;
import java.text.*;
import java.util.*;
import java.util.regex.*;

public class GFG {

// function to print
// the reciprocal
static void Reciprcalstring(String word)
{
char ch;
for (int i = 0; i < word.length(); i++) {
ch = word.charAt(i);

// Checking if the character
// is a letter or not
if (Character.isLetter(ch)) {

// converting lowercase character
// To reciprocal character
if (Character.isLowerCase(ch)) {
ch = (char)(122 – (int)(ch) + 97);
}
// converting uppercase character
// To reciprocal character
else if (Character.isUpperCase(ch)) {
ch = (char)(90 – (int)(ch) + 65);
}
}

// display each character
System.out.print(ch);
}
}

// Driver function
public static void main(String[] args)
{
// static input
String s = "Geeks for Geeks";
System.out.print("The reciprocal of " + s + " is – "
+ "\n");

// calling the function
Reciprcalstring(s);
}
}
[/sourcecode]

C#


[sourcecode language=”CSHARP”]
// C# program to find Reciprocal string
using System;

class GFG {

// function to print the reciprocal
static void Reciprcalstring(string word)
{
char ch;
for (int i = 0; i < word.Length; i++) {
ch = word[i];

// Checking if the character
// is a letter or not
if (Char.IsLetter(ch) && ch < 128) {

// converting lowercase character
// To reciprocal character
if (char.IsLower(ch)) {
ch = (char)(122 – (int)(ch) + 97);
}

// converting uppercase character
// To reciprocal character
else if (char.IsUpper(ch)) {
ch = (char)(90 – (int)(ch) + 65);
}
}

// display each character
Console.Write(ch);
}
}

// Driver function
public static void Main()
{
string s = "Geeks for Geeks";
Console.Write("The reciprocal of " + s +
" is – " + "\n");

// calling the function
Reciprcalstring(s);
}
}

// This code is contributed by Sam007

[/sourcecode]


Output :

The reciprocal of Geeks for Geeks is - 
Tvvph uli Tvvph


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 : Sam007, manishshaw1



Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.