C++ //练习 15.42 从下面的几种改进中选择一种,设计并实现它:

C++ Primer(第5版) 练习 15.42

练习 15.42 从下面的几种改进中选择一种,设计并实现它:

( a ) 按句子查询并打印单词,而不再是按行打印。

( b ) 引入一个历史系统,用户可以按编号查阅之前的某个查询,并可以在其中增加内容或者将其与其他查询组合。

( c ) 允许用户对结果做出限制,比如从给定范围的行中挑出匹配的进行显示。

环境:Linux Ubuntu(云服务器)
工具:vim

 

代码块

实现a

TextQuery::TextQuery(ifstream &is):file(new vector<string>){char sign[] = {'\t', '\r', '\v', '\f', '\n'};char endSign[] = {'?', '.', ',', '!'};set<char> space(sign, sign + 5);set<char> endline(endSign, endSign + 3);string word_line;char ch;while(is.get(ch)){if(!space.count(ch)){word_line += ch;}if(endline.count(ch)){file->push_back(word_line);int n = file->size() - 1;istringstream is(word_line);string word;while(is>>word){auto &lines = wm[word];if(!lines){lines.reset(new set<line_no>);}lines->insert(n);}word_line.assign("");} }      
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/51510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OCCT使用指南:Foundation Classes

1、介绍 本手册解释了如何使用Open CASCADE Technology (OCCT) Foundation Classes。它提供了关于基础类的基础文档。有关基础类及其应用的高级信息&#xff0c;请参阅我们的电子学习和培训产品。 基础类提供各种通用服务&#xff0c;如自动动态内存管理&#xff08;通过句柄操…

python import:跨文件夹导入模块

python 中 import 语句可以往当前 py 文件中导入外部模块&#xff0c;从而使用外部模块中的函数与类。 如果想要导入 python 内置模块和 pip install 安装的模块&#xff0c;可以直接使用 “import …” 的形式导入。 如果想要导入自己本地定义的模块&#xff08;即跨文件夹导入…

设置浏览器ie兼容模式

点击设置 设置IE模式

Animation Clips

动画剪辑是Unity用来表示对象运动姿态的基础资源&#xff0c;你可以从模型文件中导入动画剪辑&#xff0c;也可以在Unity内部创建简单的动画剪辑。 Import Animation From Model 在导入时只需要确保模型的Animation选项卡中的Import Animation是被激活的&#xff0c;对于没有动…

华为诺亚发布无限上下文大模型,超越SoTA 4.3%

你的大语言模型是不是也患上了"长文健忘症"&#xff1f;当使用大模型遇到长上下文时总是会出现词不达意&#xff1f;别担心&#xff0c;LLM界的"记忆大师"来啦&#xff01;华为诺亚方舟实验室最新推出的EM-LLM模型&#xff0c;就像是给大模型装上了"超…

典型二进制翻译系统---用户级翻译

目录 QEMU MDT HQEMU 补充 Valgrind 包括 CrossBit 补充 MTCrossBit Strata-ARM Box86 HQEMU SymQEMU QEMU 静态二进制翻译器 是一个开源的多平台的虚拟器&#xff0c;能够在软件中模拟一台机器 KVM&#xff08;Kernel-based Virtual Machine&#xff09;是 Linu…

内螺纹销主要应用优势及应用领域

内螺纹销是一种常见的机械连接件&#xff0c;它通常用于连接两个或多个零件&#xff0c;并通过其内螺纹结构来实现紧固和定位。这种零件的设计简单却非常实用&#xff0c;在各种工业领域中都能找到它的身影。下面我们就来了解一下内螺纹销的主要应用优势以及它们的应用领域。 应…

华测无人船为水库库容精准测量提供解决方案

水库作为融合防洪、供水、发电及生态维护等多重功能于一体的基础设施,其库容的精准测量对于水资源管理及防洪调度的科学决策具有举足轻重的地位。然而,随着水库使用年限的增加,泥沙淤积现象的加剧以及地理信息更新的滞后,库容复核已成为确保水库安全高效运行不可或缺的一环。 当…

windows 10显示变红

症状&#xff1a;开机进入系统登陆界面的短时间画面都是正常的&#xff0c;然后整个画面渐渐变成红色。 解决方式&#xff1a;windows 10开启了夜间显示模式。在显示设置里关闭该模式即可。

自写ApiTools工具,功能参考Postman和ApiPost

近日在使用ApiPost的时候&#xff0c;发现新版本8和7不兼容&#xff0c;也就是说8不支持离线操作&#xff0c;而7可以。 我想说&#xff0c;我就是因为不想登录使用才从Postman换到ApiPost的。 众所周知&#xff0c;postman时国外软件&#xff0c;登录经常性抽风&#xff0c;…

Redis:管道

1. 面试题 如何优化频繁命令往返造成的性能瓶颈&#xff1f; 问题由来 edis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。一个请求会遵循以下步骤&#xff1a; 1 客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果)&#xff0c;并监听Socket…

You have an error in your SQL syntax; check the manual that corresponds to your

You have an error in your SQL syntax; check the manual that corresponds to your 目录 You have an error in your SQL syntax; check the manual that corresponds to your 【常见模块错误】 【解决方案】 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班…

python+vue3+onlyoffice在线文档系统实战20240725笔记,首页开发

解决遗留问题 内容区域的高度没有生效&#xff0c;会随着菜单的高度自动变化。 解决方案&#xff1a;给侧边加上一个最小高度。 首页设计 另一种设计&#xff1a; 进来以后&#xff0c;是所有的文件夹和最近的文件。 有一张表格&#xff0c;类似于Windows目录详情&…

每日一题,力扣leetcode Hot100之560.和为K的子数组

解法一&#xff1a; 暴力解法循环直接判断从每个index开始的切片是否满足 class Solution:def subarraySum(self, nums: List[int], k: int) -> int:# 要求的连续子数组count 0n len(nums)for i in range(n):for j in range(i, n):if sum(nums[i:j1]) k:count 1return…

科研绘图系列:R语言山脊图(Ridgeline Chart)

介绍 山脊图(Ridge Chart)是一种用于展示数据分布和比较不同类别或组之间差异的数据可视化技术。它通常用于展示多个维度或变量之间的关系,以及它们在不同组中的分布情况。山脊图的特点: 多变量展示:山脊图可以同时展示多个变量的分布情况,允许用户比较不同变量之间的关…

添加自定义windows光标

#include <QApplication> #include <QMainWindow> #include <QPixmap> #include <QCursor> class MyWindow : public QMainWindow { public: MyWindow() { // 加载光标图像 QPixmap pixmap("F:/mycoding/test.png"); /…

STM32CubeIDE代码字体大小

进入首选项设置 搜索editor&#xff0c;按照图中标号&#xff0c;进行设置 按图中标号进行设置&#xff0c;选择需要的字号 到此设置完成

C++STL详解(五)——list类的接口详解

一.list的介绍 list容器的底层是双向循环带头链表&#xff0c;在CPP中&#xff0c;我们对双向循环带头链表进行了一定程度的封装。 如果你不了解双向链表&#xff0c;那么可以浏览此片博文&#xff1a;双向链表 二.list的定义方式以及赋值 2.1list的构造方式 在这里我们要…

英特尔宣布针对对Llama 3.1进行优化 以提升所有产品的性能

日前Meta正式发布了Llama 3.1开源大模型&#xff0c;以其庞大的参数量和卓越性能&#xff0c;首次在多项基准测试中击败了GPT-4o等业界领先的闭源模型。允许开发者自由地进行微调、蒸馏&#xff0c;甚至在任何地方部署&#xff0c;这种开放性为AI技术的普及和创新提供了无限可能…

python-learning31--高阶教程--基础阶段--python字典--常用操作

python-learning31--高阶教程--基础阶段--python字典--常用操作 (kaggle.com)