First X vowels from a string - GeeksforGeeks

21 May, 2021
Given a string str and an integer X, the task is to find and print the first X vowels from str. If the total vowels in str is < X then print -1.
Examples:  
Input: str = “GeeksForGeeks”, X = 3 Output: eeo ‘e’, ‘e’ and ‘o’ are the first three vowels in the given string.
Input: str = “softcopy”, X = 5 Output: -1 The total vowel count is 2 i.e ‘o’ and ‘o’ 
Approach: Traverse the string character by character and check if the current character is a vowel. If the current character is a vowel, then concatenate it to the resultant string, result. If at any point the length of the resultant string becomes X then print the string result else print -1 in the end.Below is the implementation of the above approach: 
C++
Java
Python3
C#
PHP
Javascript
// C++ implementation of the approach#include <bits/stdc++.h>using namespace std; // Function to check if a character is vowelbool isVowel(char c){    c = tolower(c);    if (c == 'a' || c == 'e' || c == 'i'        || c == 'o' || c == 'u')        return true;    return false;} // Function to return first X vowelsstring firstXvowels(string s, int x){    // String to store first X vowels    string result = "";    for (int i = 0; i < s.length(); i++) {         // If s[i] is a vowel then        // append it to the result        if (isVowel(s[i]))            result += s[i];         // If the desired length is reached        if (result.length() == x) {            return result;        }    }     // If total vowels are < X    return "-1";} // Driver codeint main(){    string str = "GeeksForGeeks";    int x = 3;     cout << firstXvowels(str, x);     return 0;}
// Java implementation of the approach public class GFG{         // Function to check if a character is vowel    static boolean isVowel(char c)    {        c = Character.toLowerCase(c) ;        if (c == 'a' || c == 'e' || c == 'i'            || c == 'o' || c == 'u')            return true;        return false;    }         // Function to return first X vowels    static String firstXvowels(String s, int x)    {        // String to store first X vowels        String result = "";        for (int i = 0; i < s.length(); i++) {                 // If s[i] is a vowel then            // append it to the result            if (isVowel(s.charAt(i)))                result += s.charAt(i);                 // If the desired length is reached            if (result.length() == x) {                return result;            }        }             // If total vowels are < X        return "-1";    }         // Driver code    public static void main(String []args)    {        String str = "GeeksForGeeks";        int x = 3;             System.out.println(firstXvowels(str, x)) ;    }    // This code is contributed by Ryuga    }
# Python 3 implementation of the approach # Function to check if a character is voweldef isVowel(c):    c = c.lower()    if (c == 'a' or c == 'e' or        c == 'i' or c == 'o' or c == 'u'):        return True    return False # Function to return first X vowelsdef firstXvowels(s, x):         # String to store first X vowels    result = ""    for i in range(0, len(s), 1):                 # If s[i] is a vowel then        # append it to the result        if (isVowel(s[i])):            result += s[i]         # If the desired length is reached        if (len(result) == x):            return result         # If total vowels are < X    return "-1" # Driver codeif __name__ == '__main__':    str = "GeeksForGeeks"    x = 3     print(firstXvowels(str, x)) # This code is implemented by# Surendra_Gangwar
// C# implementation of the approachusing System; class GFG{ // Function to check if a// character is vowelstatic bool isVowel(char c){    c = Char.ToLower(c) ;    if (c == 'a' || c == 'e' ||        c == 'i' || c == 'o' ||        c == 'u')        return true;    return false;} // Function to return first X vowelsstatic string firstXvowels(string s, int x){    // String to store first X vowels    string result = "";    for (int i = 0; i < s.Length; i++)    {         // If s[i] is a vowel then        // append it to the result        if (isVowel(s[i]))            result += s[i];         // If the desired length is reached        if (result.Length == x)        {            return result;        }    }     // If total vowels are < X    return "-1";} // Driver codepublic static void Main(){    string str = "GeeksForGeeks";    int x = 3;     Console.WriteLine(firstXvowels(str, x)) ;}} // This code is contributed// by Akanksha Rai
<?php// PHP implementation of the approach // Function to check if a character is vowelfunction isVowel($c){    $c = strtolower($c);    if ($c == 'a' || $c == 'e' ||        $c == 'i' || $c == 'o' || $c == 'u')        return true;    return false;} // Function to return first X vowelsfunction firstXvowels($s, $x){    // String to store first X vowels    $result = "";    for ($i = 0; $i < strlen($s); $i++)    {         // If s[i] is a vowel then        // append it to the result        if (isVowel($s[$i]))            $result .= $s[$i];         // If the desired length is reached        if (strlen($result) == $x)        {            return $result;        }             }     // If total vowels are < X    return "-1";} // Driver code$str = "GeeksForGeeks";$x = 3; echo firstXvowels($str, $x); // This code is contributed// by princiraj1992?>
<script> // Javascript implementation of the approach // Function to check if a character is vowelfunction isVowel(c){    c = (c.toLowerCase());    if (c == 'a' || c == 'e' || c == 'i'        || c == 'o' || c == 'u')        return true;    return false;} // Function to return first X vowelsfunction firstXvowels(s, x){    // String to store first X vowels    var result = "";    for (var i = 0; i < s.length; i++) {         // If s[i] is a vowel then        // append it to the result        if (isVowel(s[i]))            result += s[i];         // If the desired length is reached        if (result.length == x) {            return result;        }    }     // If total vowels are < X    return "-1";} // Driver codevar str = "GeeksForGeeks";var x = 3;document.write( firstXvowels(str, x));  </script>
eeo
 
Time Complexity: O(n) Here, n is the length of the string. 
ankthon
SURENDRA_GANGWAR
Akanksha_Rai
princiraj1992
gfg_sal_gfg
importantly
vowel-consonant
C Programs
Strings
Strings
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C Program to read contents of Whole File
Producer Consumer Problem in C
C program to find the length of a string
Exit codes in C/C++ with Examples
Regular expressions in C
Reverse a string in Java
Write a program to reverse an array or string
Longest Common Subsequence | DP-4
Write a program to print all permutations of a given string
C++ Data Types