C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++の文字列からの最初のX母音


この問題では、サイズNと整数Xの文字列str[]が与えられます。私たちのタスクは文字列から最初のX母音を出力するプログラムを作成することです

文字列から最初のX母音を印刷し、X母音未満が存在する場合は、-1を印刷します。

問題を理解するために例を見てみましょう

Input: str = "learn C programming language", X = 5
Output: e, a, o, a, i
Vowels are a, e, i, o, u

ソリューションアプローチ

この問題の簡単な解決策は、文字列文字をチャーターでトラバースすることです。そして、文字列のすべての母音を母音文字列に格納します。そして、この文字列の長さがXに等しい場合は、それを返します。文字列のすべての母音がXまでカウントできない場合は、-1を返します。

ソリューションの動作を説明するプログラム

#include <iostream>
#include <string.h>
using namespace std;
bool isaVowel(char c){
   c = tolower(c);
   if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
      return true;
   return false;
}
string findXVowelsString(string s, int x){
   string vowelsString = "";
   for (int i = 0; i < s.length(); i++) {
      if (isaVowel(s[i]))
         vowelsString += s[i];
      if (vowelsString.length() == x) {
         return vowelsString;
      }
   }
   return "-1";
}
int main(){
   string str = "learn C programming language";
   int x = 5;
   cout<<"The first "<<x<<" vowels from the string are "<<findXVowelsString(str, x);
   return 0;
}

出力

The first 5 vowels from the string are eaoai

  1. C++での文字列の逆母音

    文字列が与えられると、タスクは与えられた文字列に存在するすべての母音を逆にすることです。たとえば、 入力-1 − a = “tutor” 出力 − totur 説明 −文字列「tutor」を逆にすると、「totur」として出力が生成されます。 入力-2 − a = “mathematics” 出力 − mithametacs 説明 −文字列「mathematics」を逆にすると、「mithametacs」として出力が生成されます。 この問題を解決するためのアプローチ 文字列が与えられると、その中に存在するすべての母音を逆にす

  2. C++で文字列から二分木を構築する

    括弧と整数で構成される文字列があるとします。その文字列から二分木を構築する必要があります。入力全体が二分木を表します。これは、0、1、または2組の括弧が後に続く整数を保持します。整数はルートの値を表し、括弧のペアには同じ構造の子二分木が含まれます。 したがって、入力が「4(2(3)(1))(6(5))」の場合、出力は[3,2,1,4,5,6](順序付き走査)になります これを解決するには、次の手順に従います- 関数solve()を定義します。これには、s、idx、が必要です。 =sのサイズの場合、- nullを返す num:=空の文字列 while(