检查所有子字符串的元音数量是否至少与辅音数量相同


在字母序列中,包含 26 个字符,其中 5 个字符是元音,例如 a、e、i、o、u,其余称为辅音。在 C++ 中,我们有预定义函数,如 tolower() 和 length(),它们将有助于检查所有子字符串的元音数量是否至少与辅音数量相同。

让我们举个例子。

  • 该字符串只有一个辅音,其余为元音“aiteau”。因此,它被接受为最终结果。

  • 该字符串有多个辅音,其余为元音“appioa”。因此,它不被接受为最终结果。

使用简单的 for 循环

该程序使用基于元音和至少辅音的两个函数定义。这些函数提供了一些循环和运算符,有助于解决此问题陈述。

语法

以下语法在示例中使用

tolower()

预定义函数 tolower() 将任何给定字符转换为小写。

length()

length() 是 C++ 的预定义函数,可用于查找给定字符串的长度。

算法

以下步骤为:

步骤 1:通过提及头文件 iostream 启动程序。

步骤 2:然后使用函数定义 vowel_letter(),它将用于设置内置函数 tolower() 以将字符转换为小写。然后通过使用运算符 == 和 || 指定元音字符来返回函数。

步骤 3:接下来,它将定义另一个名为 atleast_consonant() 的函数定义,该函数将参数作为 str 以获取给定字符串的输入。此函数的作用是对一个辅音和其余元音进行操作。例如- aatuuie:t 只是辅音,其余字母是元音。

步骤 4:然后使用第一个 for 循环,变量 i 遍历输入字符串并连接到使用一些运算符(如 ! 和 &&)在 if 语句的条件中使用函数定义 vowel_letter。如果在给定字符串中发现超过一个辅音,则返回 false。

步骤 5:继续使用第二个 for 循环,它将使用 if 语句设置基于 && 运算符的条件。如果元音周围有多个辅音,则如果所有条件都满足,则返回 false,否则返回 true。

步骤 6:现在启动程序的主函数并初始化输入字符串。

步骤 7:使用 if-else 语句,它将条件设置为调用函数以传递字符串的输入并检查是否存在至少辅音。

示例

在以下示例中,我们将使用两个 for 循环,其中第一个循环基于当前给定列表中一个连续的辅音字符进行迭代,而第二个循环将基于元音周围有多个辅音来证明此问题。

#include <iostream>
using namespace std;
// function operate to work on vowel character
bool vowel_letter(char ch)
{   
// Using tolower() covert the character into a lowercase letter
    ch = tolower(ch); 
// Set the condition to check the character vowel by using the operator logical OR and equal to
    return (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u');
}
// function operate to work on at least one consonant character present with the rest vowel.
bool atleast_consonant(const string& str)
{
    int n = str.length();
// Using the first iteration it checks if more than one consecutive consonant present
    for (int i = 1; i < n; i++)
    {
        if (!vowel_letter(str[i]) && !vowel_letter(str[i - 1]))
            return false;
    }
// Using the second iteration it checks if the vowel is surrounded by more than one consonant
    for (int i = 1; i < n - 1; i++)
    {
        if (vowel_letter(str[i]) && !vowel_letter(str[i - 1]) && !vowel_letter(str[i + 1]))
            return false;
    }
// return true when there exists only one consonant with vowels
    return true;
}
// Start the main function
int main()
{
    string stng = "abaue";
// Function call used under if-statement
    if (atleast_consonant(stng))
        cout << "The given problem statement is satisfied." << endl;
    else
        cout << "The given problem statement is not satisfied" << endl;
    
    return 0;
}

输出

The given problem statement is satisfied.

结论

元音和辅音是字母的字符,可以在程序活动中使用以解决特定问题。使用了一些预定义函数,如 tolower() 和 length(),在需要时满足了特定需求。此类型通常用于解决算法问题陈述。

更新于: 2023-08-16

161 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告