替换给定字符串中每个连续辅音序列为其长度


本文将帮助我们理解如何在给定字符串中用其长度替换连续的辅音序列。辅音是一系列非元音的字母。这里我们需要首先确定字符串中哪些字母是辅音。

例如,在单词“abcdiopqrsu”中,辅音序列为“bcd”和“pqrs”。接下来,我们将用它们的长度替换每个辅音序列。因此,单词“bcd”将替换为“3”,因为有三个连续的辅音,单词“pqrs”也一样,替换为“4”,因为有四个连续的辅音。

算法

  • 首先,我们将定义一个函数“isConsonant()”,它接受一个字符值作为参数,以验证其是否为辅音,并以布尔值的形势返回结果。如果给定字符是辅音,则此函数返回TRUE,否则返回false。

    用于查找辅音字符的逻辑解释

    (con == 'a' || con == 'e' || con == 'i' || con == 'o' || con == 'u')

    • con 是变量的名称。

    • ==: 等于运算符将元音值设置为变量。

    • ||: 使用按位逻辑或,它将允许设置多个元音值到变量“con”中。

  • 我们将从在主函数中定义变量“string”开始,并将值“abcdiopqrsu”存储在字符串变量中。然后我们将取一个空字符串变量“result”。该函数使用for循环遍历字符串中的每个字符,并对每个字符,通过调用“isConsonant”函数检查它是否为辅音。

  • 如果字符是辅音,则它将进入while循环,并继续迭代,直到找到下一个辅音。在while循环的每次迭代期间,计数器变量“counter”将递增。一旦完成while循环,该函数将使用“to_string”函数将计数器的值添加到结果字符串中。

  • 然后我们检查字符是否不是辅音,如果是则该函数只是将字符添加到“result”字符串中。

  • 最后,我们将使用cout语句打印结果字符串的值

示例

在这个程序中,我们将了解如何替换辅音并提供其长度而不是它本身。

#include<iostream>
#include<string>
using namespace std;
bool isConsonant(char con) {
   //Check whether the given character is consonant or not.
   return !( con == 'a' || con == 'e' || con == 'i' || con == 'o' || con == 'u');
}
int main() {
   string str = " abcdiopqrsu";
   string result;
   for( int i=0; i < str.length(); i++) {
      if ( isConsonant(str[i]) ) {
         //Here we have to find the consonant and count its length.
         int counter = 1;
         while( isConsonant( str[i+1] ) ) {
            counter++;
            i++;
         }
         result += to_string( counter );
      } else {
         result += str[i];
      }
   }
    cout<< result << endl ;
    return 0;
}

输出

1a3io4u

结论

我们探讨了给定字符串中辅音序列及其长度的概念。我们了解了如何使用“==”等于和“||”按位逻辑或来检查辅音字符。然后我们设置字符串变量并通过其总计数计算非辅音字符。以下应用用于文本处理、数据压缩和模式识别等。

更新于: 2023年4月20日

297 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.