C++ //练习 10.16 使用lambda编写你自己版本的biggies。
C++ Primer(第5版) 练习 10.16
练习 10.16 使用lambda编写你自己版本的biggies。
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
/*************************************************************************> File Name: ex10.16.cpp> Author: > Mail: > Created Time: Fri 01 Mar 2024 02:49:29 PM CST************************************************************************/#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;string make_plural(size_t ctr, string &word, const string &ending = "s"){int size = word.size();if(ctr <= 1){return word;}else{if(word[size-1] == 's' || word[size-1] == 'x' || (word[size-1] == 'h' && word[size-2] == 's') || (word[size-1] == 'h' && word[size-2] == 'c')){return word + "e" + ending;}else if(word[size-1] == 'y' && (word[size-2] != 'a' && word[size-2] != 'e' && word[size-2] != 'i' && word[size-2] != 'o' && word[size-2] != 'u')){word[size-1] = 'i';return word + "e" + ending;}else if((word[size-3] != 'a' && word[size-3] != 'e' && word[size-3] != 'i' && word[size-3] != 'o' && word[size-3] != 'u') && (word[size-2] != 'a' && word[size-2] != 'e' && word[size-2] != 'i' && word[size-2] != 'o' && word[size-2] != 'u')){if(word[size-1] == 'f'){word[size-1] = 'v';return word + ending;}else if(word[size-2] == 'f' && word[size-1] == 'e'){word[size-2] = 'v';return word + "e" + ending;}}else{return word + ending;}}return word;
}void elimDups(vector<string> &words){sort(words.begin(), words.end());auto end = unique(words.begin(), words.end());words.erase(end, words.end());
}void biggies(vector<string> &words, vector<string>::size_type len){elimDups(words);stable_sort(words.begin(), words.end(), [](const string &a, const string &b){ return a.size() < b.size(); });auto pos = find_if(words.begin(), words.end(), [len](const string &a){ return a.size() >= len; });auto count = words.end() - pos;string str("word");cout<<count<<" "<<make_plural(count, str, "s")<<" of length "<<len<<" or longer"<<endl;for_each(pos, words.end(), [](const string &s){ cout<<s<<" "; });cout<<endl;
}int main(){vector<string> words;string str;cout<<"Enter strings: ";while(cin>>str){words.push_back(str);if(cin.get() == '\n'){break;}}biggies(words, 5);return 0;
}
运行结果显示如下

相关文章:
C++ //练习 10.16 使用lambda编写你自己版本的biggies。
C Primer(第5版) 练习 10.16 练习 10.16 使用lambda编写你自己版本的biggies。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /*******************************************************************…...
【misc | CTF】BUUCTF 二维码
天命:这题使用到脚本暴力破解压缩包文件里面的密码,还是比较有意思的 一开始是一个二维码,扫码进去有一个假flag 扔进图片隐写工具,啥也没有,都是同一个二维码 使用工具:foremost,直接分离图片&…...
OSCP靶场--Resourced
OSCP靶场–Resourced 考点(1.rpc枚举 2.crackmapexec密码喷洒,hash喷洒 3.ntds.dit system提取域hash 4.基于资源的约束委派攻击rbcd) 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC -p- 192.168.188.175 --min-rate 2000 Starting Nmap 7.9…...
Vue路由(黑马程序员)
路由介绍 将资代码/vue-project(路由)/vue-project/src/views/tlias/DeptView.vue拷贝到我们当前EmpView.vue同级,其结构如下: 此时我们希望,实现点击侧边栏的部门管理,显示部门管理的信息,点击员工管理,显…...
【Java程序员面试专栏 算法思维】一 高频面试算法题:排序算法
一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊排序算法,包括手撕排序算法,经典的TOPK问题以及区间合并,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间快速排序双指针+递归+基准值分…...
sql注入之sqli-labs-less-1 错误注入
输入?id1 得到登录页面: 通过order by 函数试探: 5的时候报错 试探到3 的时候返回正确的值: 然后继续注入:?id -1 union select 1,2,3 -- 查看回显点: 开始查看数据库内容:id-1 union select 1,databa…...
React withRouter的使用及源码实现
一 基本介绍 作用: 把不是通过路由切换过来的组件中,将react-router 的 history、location、match 三个对象传入props对象上。比如首页! 默认情况下必须是经过路由匹配渲染的组件才存在this.props,才拥有路由参数,才能…...
c++之旅——第四弹
大家好啊,这里是c之旅第三弹,跟随我的步伐来开始这一篇的学习吧! 如果有知识性错误,欢迎各位指正!!一起加油!! 创作不易,希望大家多多支持哦! 本篇文章的主…...
Mysql整理-主从复制
MySQL的主从复制是一种常见的数据复制和分布式数据共享方法。在这种架构中,一个MySQL服务器充当主(master)服务器,而一个或多个其他MySQL服务器充当从(slave)服务器。数据从主服务器复制到从服务器,实现数据的分布和备份。这种设置主要用于数据备份、读取扩展、灾难恢复…...
100个百万阅读公众号爆文案例
100个100万公众号爆文案例 自从公众号流量推送修改之后,原来的私域玩法一去不复返,公域公众号正在崛起 现在公众号的玩法就是找爆款,去对标,去学习,努力使自己的公众号进入流量池,然后吃流量主的收益 这里…...
UnityAPI的学习——Transform类
Transform类继承自Component类,并实现了IEnumberable接口。Transform是GameObject必须拥有得一个组件,用来管理所在GameObject对象的坐标位置、选择角度、和大小缩放。 Transform实现了IEnumberable接口,因此可以在程序中使用foreach()方法快…...
(全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
研究生英语读写教程基础级教师用书PDF 研究生英语读写教程提高级教师用书PDF pdf下载(完整版下载) (1)研究生英语读写教程基础级教师用书PDF (2)研究生英语读写教程基提高级教师用书PDF...
GO基本类型
Go语言同时提供了有符号和无符号的整数类型。 有符号整型:int、int8、int64、int32、int64无符号整型:uint、uint8、uint64、uint32、uint64、uintptr 有符号整型范围:-2^(n-1) 到 2^(n-1)-1 无符号整型范围: 0 到 2^n-1 实际开发中由于编…...
怎么快速编辑视频
背景:怎么简单快速编辑视频 利用FFmpeg功能,简单快速编辑视频,如按9:16提前剪切视频、替换背景音乐。 下载FFmpeg:https://ffmpeg.org/download.html 将FFmpeg的路径添加到环境变量中: Windows:在系统的环…...
基于vue-office实现docx、xlsx、pdf文件的在线预览
概述 在做项目的时候会遇到docx、xlsx、pdf等文件的在线预览需求,实现此需求可以有多种解决方式,本文基于vue-office实现纯前端的文件预览。 效果 如下图,分别为docx、xlsx、pdf三种类型的文件在线加载后的效果。你也可以访问官方预览网址…...
数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…...
51单片机-(中断系统)
51单片机-(中断系统) 了解51单片机中断系统、中断源、中断响应条件和优先级等,通过外部中断0实现按键控制LED亮灭为例理解中断工作原理和编程实现过程。 1.中断系统结构 89C51/52的中断系统有5个中断源 ,2个优先级,…...
c++之旅——第三弹
大家好啊,这里是c之旅第三弹,跟随我的步伐来开始这一篇的学习吧! 如果有知识性错误,欢迎各位指正!!一起加油!! 创作不易,希望大家多多支持哦! 一.命名空间;…...
GO—函数
Go 语言支持普通函数、匿名函数和闭包,从设计上对函数进行了优化和改进,让函数使用起来更加方便。 Go 语言的函数属于“一等公民”(first-class),也就是说: 函数本身可以作为值进行传递。支持匿名函数和闭…...
[WebUI Forge]ForgeUI的安装与使用 | 相比较于Auto1111 webui 6G显存速度提升60-75%
ForgeUI的github主页地址:https://github.com/lllyasviel/stable-diffusion-webui-forge Stable Diffusion WebUI Forge 是一个基于Stable Diffusion WebUI(基于Gradio)的平台,可简化开发、优化资源管理并加快推理速度。 “Forge”这个名字的灵感来自于“Minecraft Forge”…...
MuseTalk技术解析与实践指南:实时高质量AI唇同步视频实现方案
MuseTalk技术解析与实践指南:实时高质量AI唇同步视频实现方案 【免费下载链接】MuseTalk MuseTalk: Real-Time High Quality Lip Synchorization with Latent Space Inpainting 项目地址: https://gitcode.com/gh_mirrors/mu/MuseTalk MuseTalk作为腾讯音乐娱…...
基于LM2596的Buck电路设计
目录: 一、详细的说明 二、设计过程 1、手动计算 2、TI工具设计 三、Layout与散热 1、Layout 2、散热 四、PCBA实测 一、详细说明 LM2596 系列稳压器是为降压开关稳压器提供所有有效功能的单片集成电路,能够驱动 3A 的负载,并且拥有…...
FanControl中文设置高效配置:5分钟完成本地化界面实战指南
FanControl中文设置高效配置:5分钟完成本地化界面实战指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendin…...
支付网关超时、重复扣款、状态不一致,深度解析PHP支付调试中的8大“幽灵Bug”:央行合规日志审计标准实操
第一章:支付网关超时、重复扣款、状态不一致,深度解析PHP支付调试中的8大“幽灵Bug”:央行合规日志审计标准实操支付系统中看似偶发的“幽灵Bug”,往往源于时间窗口、网络抖动与状态机设计的隐性冲突。在PHP支付集成场景下&#x…...
专业做佛山市办公家具工厂的服务商
在竞争激烈的商业世界中,办公家具的选择对于企业来说至关重要。它不仅关乎员工的工作舒适度和效率,更体现着企业的形象和品味。今天,就为大家介绍一家专业做佛山市办公家具的工厂服务商——佛山市豪亿办公家具。一、直击用户痛点,…...
终极游戏模组管理革命:XXMI启动器让二次元游戏体验全面升级
终极游戏模组管理革命:XXMI启动器让二次元游戏体验全面升级 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 你是否曾经为管理多个游戏的模组而烦恼?每个游…...
Oracle数据库sqlplus登录卡死问题排查与fast_recovery_area空间优化
1. 当sqlplus登录突然卡死时,我该从哪里入手? 上周五凌晨2点,我被一阵急促的电话铃声惊醒。客户的生产数据库突然无法登录,所有运维人员通过sqlplus连接时都卡在登录界面,连CtrlC都无法中断。这种场景对DBA来说就像半夜…...
LoRA训练数据准备:lora-scripts自动标注与预处理实操教程
LoRA训练数据准备:lora-scripts自动标注与预处理实操教程 1. 工具简介与核心价值 lora-scripts是一款开箱即用的LoRA训练自动化工具,它将复杂的模型微调流程封装为简单易用的命令行操作。对于想要定制Stable Diffusion模型风格或优化LLM特定能力的开发…...
2026届最火的五大AI辅助论文网站实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有着自动剖析研究领域热点能力的AI开题报告工具,是依托自然语言处理与知识图谱技…...
[ISP] CIE-XYZ色彩空间的现代应用与优化
1. CIE-XYZ色彩空间的诞生与核心原理 1931年国际照明委员会(CIE)做了一件改变色彩科学史的事——他们用汞灯发出的三个特定波长光线(700nm红、546.1nm绿、435.8nm蓝)作为基准,通过大量人眼视觉实验绘制出了著名的CIE-…...
