📜  将单词编码成 Pig Latin

📅  最后修改于: 2022-05-13 01:57:06.616000             🧑  作者: Mango

将单词编码成 Pig Latin

设计一个程序以将一个单词作为输入,然后将其编码为 Pig Latin。 Pig Latin 是英语中的加密词,通过以下更改生成:
输入单词中出现的第一个元音与其余的字母一起放置在新单词的开头。字母表出现在第一个元音移动之前,在新单词的末尾是“ay”。

例子:

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
// C++ program to encode a word to a Pig Latin.
#include 
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 code
int main()
{
    string str = pigLatin("graphic");
    if (str == "-1")
        cout << "No vowels found. Pig Latin not possible";
    else
        cout << str;
}


Java
// 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 code
public 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.


Python3
# 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#
// 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.


Javascript


输出:

aphicgray