Encoding a word into Pig Latin

31 May, 2021
Design a program to take a word as an input, and then encode it into Pig Latin. A Pig Latin is an encrypted word in English, which is generated by doing the following alterations:The first vowel occurring in the input word is placed at the start of the new word along with the remaining alphabet of it. The alphabet is present before the first vowel is shifted, at the end of the new word it is followed by “ay”.  
Examples:  
Input: s = "paris"
Output: arispay

Input: s = "amazon"
Output: amazonay 
1) Find index of first vowel.
2) Create pig latin by appending following three.
.....a) Substring after starting with the first vowel
........till end.
.....b) Substring before first vowel.
.....c) "ay".
 
CPP
Java
Python3
C#
Javascript
// C++ program to encode a word to a Pig Latin.#include <bits/stdc++.h>using namespace std; bool isVowel(char c){    return (c == 'A' || c == 'E' || c == 'I' ||            c == 'O' || c == 'U' || c == 'a' ||            c == 'e' || c == 'i' || c == 'o' ||            c == 'u');} string pigLatin(string s){    // the index of the first vowel is stored.    int len = s.length();    int index = -1;    for (int i = 0; i < len; i++) {        if (isVowel(s[i])) {            index = i;            break;        }    }     // Pig Latin is possible only if vowels    // is present    if (index == -1)        return "-1";     // Take all characters after index (including    // index). Append all characters which are before    // index. Finally append "ay"    return s.substr(index) + s.substr(0, index) + "ay";} // Driver codeint main(){    string str = pigLatin("graphic");    if (str == "-1")        cout << "No vowels found. Pig Latin not possible";    else        cout << str;}
// Java program to encode a word to a Pig Latin.class GFG {static boolean isVowel(char c) {    return (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U' ||            c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');} static String pigLatin(String s) {     // the index of the first vowel is stored.    int len = s.length();    int index = -1;    for (int i = 0; i < len; i++)    {        if (isVowel(s.charAt(i))) {        index = i;        break;    }    }     // Pig Latin is possible only if vowels    // is present    if (index == -1)        return "-1";     // Take all characters after index (including    // index). Append all characters which are before    // index. Finally append "ay"    return s.substring(index) +           s.substring(0, index) + "ay";} // Driver codepublic static void main(String[] args) {    String str = pigLatin("graphic");    if (str == "-1")        System.out.print("No vowels found." +                         "Pig Latin not possible");         else        System.out.print(str);}}// This code is contributed by Anant Agarwal.
# Python program to encode a word to a Pig Latin. def isVowel(c):    return (c == 'A' or c == 'E' or c == 'I' or            c == 'O' or c == 'U' or c == 'a' or            c == 'e' or c == 'i' or c == 'o' or            c == 'u');  def pigLatin(s):     # the index of the first vowel is stored.    length = len(s);    index = -1;    for i in range(length):        if (isVowel(s[i])):            index = i;            break;     # Pig Latin is possible only if vowels    # is present    if (index == -1):        return "-1";     # Take all characters after index (including    # index). Append all characters which are before    # index. Finally append "ay"    return s[index:] + s[0:index] + "ay"; str = pigLatin("graphic");if (str == "-1"):    print("No vowels found. Pig Latin not possible");else:    print(str); # This code contributed by Rajput-Ji
// C# program to encode a word to a// Pig Latin.using System; class GFG {         static bool isVowel(char c)    {        return (c == 'A' || c == 'E' ||                c == 'I' || c == 'O' ||                c == 'U' || c == 'a' ||                c == 'e' || c == 'i' ||                c == 'o' || c == 'u');    }         static string pigLatin(string s)    {             // the index of the first        // vowel is stored.        int len = s.Length;        int index = -1;        for (int i = 0; i < len; i++)        {            if (isVowel(s[i]))            {                index = i;                break;            }        }             // Pig Latin is possible only        // if vowels is present        if (index == -1)            return "-1";             // Take all characters after        // index (including index).        // Append all characters which        // are before index. Finally        // append "ay"        return s.Substring(index) +               s.Substring(0, index)                              + "ay";    }         // Driver code    public static void Main()    {        string str = pigLatin("graphic");                 if (str == "-1")            Console.WriteLine("No vowels"                     + "found. Pig Latin"                      + " not possible");        else            Console.WriteLine(str);    }} // This code is contributed by vt_m.
<script> // js program to encode a word to a// Pig Latin.      function isVowel(c){    return (c == 'A' || c == 'E' ||            c == 'I' || c == 'O' ||            c == 'U' || c == 'a' ||            c == 'e' || c == 'i' ||            c == 'o' || c == 'u');} function pigLatin(s){     // the index of the first    // vowel is stored.    let len = s.length;    let index = -1;    for (let i = 0; i < len; i++)    {        if (isVowel(s[i]))        {            index = i;            break;        }    }     // Pig Latin is possible only    // if vowels is present    if (index == -1)        return "-1";     // Take all characters after    // index (including index).    // Append all characters which    // are before index. Finally    // append "ay"    return s.substring(index) +           s.substring(0, index)                          + "ay";} // Driver code str = pigLatin("graphic"); if (str == "-1")    document.write("No vowels"             + "found. Pig Latin"              + " not possible");else    document.write(str); </script>
Output: 
aphicgray
This article is contributed by dewangNautiyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
vt_m
Rajput-Ji
mohit kumar 29
encoding-decoding
Strings
Strings
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python program to check if a string is palindrome or not
Check for Balanced Brackets in an expression (well-formedness) using Stack
KMP Algorithm for Pattern Searching
Different Methods to Reverse a String in C++
Longest Palindromic Substring | Set 1
Top 50 String Coding Problems for Interviews
Length of the longest substring without repeating characters
Check whether two strings are anagram of each other
Reverse words in a given string
Convert string to char array in C++