首页 > 后端开发 > C++ > 正文

通过按照元音字母在字符串中的索引位置重新排列,修改字符串

王林
发布: 2023-09-06 18:53:06
转载
1035人浏览过

通过按照元音字母在字符串中的索引位置重新排列,修改字符串

在本文中,我们将讨论如何通过在各自索引处按字母顺序重新排列元音来修改 C++ 中的给定字符串。我们还将解释用于解决此问题的方法,并提供带有测试用例的示例。

问题陈述

给定一个字符串,按字母顺序在各自的索引处重新排列元音。字符串中的辅音应保持其原始顺序。例如,给定字符串“tutorialspoint”,输出应为“tatiriolspount”。

方法

这个问题可以使用简单的算法来解决。我们可以首先创建一个单独的字符串,其中按各自的顺序包含给定字符串中的所有元音。然后我们可以按字母顺序对该字符串进行排序。最后,我们可以将原始字符串中的元音替换为排序字符串中各自索引处的元音。

示例

让我们看看 C++ 代码中的分步方法 -

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string modifyString(string str) {
   string vowels = "";
   string result = "";
   
   // Extract vowels from the string
   for(int i = 0; i < str.length(); i++) {
      if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') {
         vowels += str[i];
      }
   }
   
   // Sort the vowels in alphabetical order
   sort(vowels.begin(), vowels.end());
   
   // Replace the vowels in the original string with sorted vowels
   int vowelIndex = 0;
   for(int i = 0; i < str.length(); i++) {
      if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') {
         result += vowels[vowelIndex];
         vowelIndex++;
      } else {
         result += str[i];
      }
   }
   return result;
}

int main() {
   string str = "tutorialspoint";
   cout << modifyString(str) << endl;
   return 0;
}
登录后复制

输出

tatiriolspount
登录后复制

测试用例

让我们用一些额外的示例来测试代码:

图改改
图改改

在线修改图片文字

图改改 455
查看详情 图改改

示例1

Input: "quick brown fox jumps over the lazy dog"
Output: "qaeck brewn fix jomps ovor tho luzy dug"
登录后复制

示例2

Input: "the quick brown fox"
Output: "the qiock brown fux"
登录后复制

在这两个示例中,元音在各自的索引处按字母顺序重新排列,而辅音则保持其原始顺序。

结论

总之,我们讨论了如何通过在各自索引处按字母顺序重新排列元音来修改 C++ 中的给定字符串。我们还解释了用于解决此问题的方法,并提供了带有示例的工作代码。通过使用本文提到的方法,我们可以轻松解决类似问题并根据我们的要求修改字符串。

以上就是通过按照元音字母在字符串中的索引位置重新排列,修改字符串的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号