c++——容器实现文本查询程序

别再手动推导了!用Tina Pro V8快速搞定复杂电路的传递函数(附避坑指南) 本文深度解析Tina Pro V8的符号分析功能如何革新电路设计流程,实现复杂电路传递函数的自动生成。通过对比传统手工推导与数值仿真方法的局限,展示Tina Pro V8在电路仿真中的核心优势,包括完整的符号运算引擎、无缝集成的工作流以及多维度验证机制。文章还提供典型应用场景、高效工作流建议及疑难解决方案,帮助工程师显著提升设计效率与准确性。 阅读详情
/*vs2010编译通过*/
/*缺点:无大小写区分,没有剔除标点符号*/
/*Search.h*/
#pragma once
#include <iostream>
#include <fstream>
#include <string>
#include <map>
#include <set>
#include <vector>
#include <utility>
#include <stdexcept>
#include <sstream>
using namespace std;
class CSearch
{
public:
	CSearch(void);
	void OpenFile(const string  fname);
	void MakeMap();
	void Search(const string key_word);
	void ShowResult() const;
	~CSearch(void); 

private:
	int m_lineCount;
	int m_wordCount;
	ifstream m_ifs;
	vector<string> m_lineVec;
	map< int, vector<string> > m_wordMap;
	set<int> m_resultSet;
};


/*Search.cpp*/
#include "StdAfx.h"
#include "Search.h"


CSearch::CSearch(void)
{
	m_lineCount = 0;
	m_wordCount = 0;
}

void CSearch::OpenFile(const string  fname)
{
	m_ifs.open(fname.c_str(), ifstream::in);
	if (!m_ifs)
		throw runtime_error("文件打开失败!");
}

void CSearch::MakeMap()
{
	string strLine;
	while (getline(m_ifs, strLine))
	{
		++m_lineCount;
		m_lineVec.push_back(strLine);
		istringstream iss(strLine);
		string tempWord;
		vector<string> word_vec;
		while (iss >> tempWord)
		{
			word_vec.push_back(tempWord); 
		}
		m_wordMap.insert(make_pair(m_lineCount, word_vec));
		word_vec.clear();
	}
}

void CSearch::Search(const string key_word)
{
	map< int, vector<string> >::const_iterator map_it = m_wordMap.begin();
	while (map_it != m_wordMap.end())
	{
		int flag = 0;
		vector<string>::const_iterator vec_it = (*map_it).second.begin();
		for ( ; vec_it != (*map_it).second.end(); ++vec_it)
		{
			if (key_word == *vec_it)
			{
				++m_wordCount;
				flag = 1;
			}
		}
		if (flag)
			m_resultSet.insert((*map_it).first);
		++map_it;
	}
}

void CSearch::ShowResult() const
{
	cout << "找到匹配单词:" << m_wordCount << endl;
	set<int>::const_iterator set_it = m_resultSet.begin();
	while (set_it != m_resultSet.end())
	{
		cout << "第" << *set_it << "行" << " " << m_lineVec[*set_it - 1] << endl;
		++set_it;
	}
}

CSearch::~CSearch(void)
{
}

// SearchWords.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "Search.h"

int _tmain(int argc, _TCHAR* argv[])
{
	CSearch mySearch;
	try
	{
		mySearch.OpenFile("article.txt");
	}
	catch (runtime_error err)
	{
		cout << err.what() << endl;
		return 0;
	}
	mySearch.MakeMap();
	cout << "请输入要查找的单词:";
	string key_word;
	cin >> key_word;
	mySearch.Search(key_word);
	mySearch.ShowResult();

	return 0;
}            


 
ue4 角色奔跑/冲刺/蹲下 /蹲走 动作切换蓝图 序列:文章分为4部分: 一、准备工作+简单的蓝图连线 二、编写“行走” 混合空间 三、编写“蹲下”混合空间 四、合成2个动画,设置动画蓝图 —————————————— 一、准备工作 下载“动画初学者包”,添加到项目! 主要文件: 打开BP_playerCharacter,组价——添加组件,找到“摄像机”,“机臂” 没有找到就去其他项目复制过来 ———————————— 手写人物的移动,也可以在... 阅读详情

相关推荐

【清华大学软院】15-19年推免试题历年整理

整理的题目为清软预推免机试(外校)硕士机考题目。 年代 题目1 题目2 题目3 2019 质因数分解 二叉搜索树 区间DP(折叠字符串) 2018 日期转换 高精度模拟 区间DP(戳气球) 2017 进制素数 被遗漏的数字 DP(收集苹果) 2016 大数运算 DP DFS 2015 进制素数: http://acm.hdu.edu.cn/showproblem.php?pid=1230 2017年题目(这个是找的最准确的题目): 1题见【链接】 2题见【链接】

云端筑梦师 2256

容器的综合应用--文本查询程序

简单文本查询程序

scuxc的专栏 382

别再只盯着CXL协议了,聊聊CXL.mem里那个能动态调优内存性能的‘QoS遥测’到底怎么用

本文深入解析CXL.mem协议中的QoS遥测功能,探讨如何通过DevLoad指标动态调优内存性能。文章详细介绍了QoS遥测的核心机制、多QoS类别设备的实战配置,以及AI训练、金融交易和视频处理场景中的优化案例,帮助数据中心实现高效内存资源管理。

weixin_33725722的博客 437

C++实现简单的文本查询

1 该程序将读取用户指定的任意文本文件,然后允许用户从该文件中查找单词。查询的结果是该单词出现的次数,并列出每次出现所在的行。如果某单词在同一行中多次出现,程序将只显示该行一次,行号按升序显示。 2 3 以下是代码实现: 4 5 #include <ctype.h> 6 #include <iostream> 7 #inclu...

weixin_30622107的博客 324

ncl泰勒图(均方根误差、标准差、相关系数)

ncl泰勒图(均方根误差、标准差、相关系数)

weixin_61281699的博客 8009

CorelDRAW 2019安装指南:从下载到激活的完整步骤

本文提供了一份详细的CorelDRAW 2019安装指南,涵盖从下载安装包、检查系统环境到完成激活的完整步骤。文章重点解析了安装过程中的关键选项设置,并分享了首次启动后的优化配置与常见问题解决方案,旨在帮助用户高效、顺利地完成这款经典矢量设计软件的安装与配置。

weixin_29213827的博客 839

C++ 容器 综合应用 文本查询程序

我们的程序将读取用户指定的任意文本文件,然后允许用户从该文件中查找文件。查询的结果是该单词出现的次数,并列出每次出现所在的行。如果某个单词在同一行中多次出现,程序将只显示改行一次。 #include #include #include #include #include #include #include using namespace std; class TextQuery {

大米粒ing 1079

用Python爬取大连商品交易所期货实时行情:从入门到实战

python复制编辑# utils.py"豆粕": "M0","铁矿石": "I0","聚乙烯": "L0","玉米": "C0","聚丙烯": "PP0","棕榈油": "P0"本项目展示了:✅ 如何从新浪财经 API获取主力合约实时数据✅ 使用Python异步爬虫技术) 提升效率✅ 利用pandas和matplotlib进行结构化分析与可视化✅ 具备良好的扩展性,可对接金融、农业、能源等数据需求场景✅ 可作为期货量化策略数据源✅ 可嵌入自动化报告系统。

2201_76125261的博客 1247

C++读写本地文件(文件IO流)

我们在开发项目过程中经常会写一些项目的配置信息 今天记录一下C++的IO流,其实很简单首先我用C++打开一个C盘的txt文件并且读取出来, 然后在结尾写要给END如图所示: 第一步: 首先要在c/c++的预处理器定义中添加 添加_CRT_SECURE_NO_WARNINGS#include "stdafx.h" #include<cstdlib> #include<cstdio> #inc

董国政的博客 4426

Unity之OpenXR+XR Interaction Toolkit实现 VR控制第一人称角色模型动画

我们在开发VR项目时,有时会有第一人称视角的需求,即我们自己带上VR头显,能够看到自己的身体,如果模拟一些人物触电死亡,使用工具动画之类的需求,那么VR控制第一人称视角就比较实用了。我们今天就来介绍一下如何实现VR设备控制第一人称:1.角色手部跟随手柄移动和旋转2.角色头部跟随VR头显转动和移动3.角色腿部跟随角色头显移动和下蹲。

TxNet 2845

【libnice】meson + vs2022,生成win32工程

libnice

突围 947

C++用多个容器实现文本查询TextQuery程序

文件map_file.txt放到工程下面的文件夹中 下面是TextQuery类的实现 //TextQuery类 //TextQuery.h文件 #include #include #include #include #include #include #include using namespace std; class TextQuery { public: typede

liuyun的专栏 1549

ParaView :在paraview创建渲染视图

ParaView :在paraview创建渲染视图

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1311

【C++容器和算法】容器综合应用:文本查询程序

通过实现文本查询程序,我们综合运用了vector、map、set等 C++ 容器,深入理解了它们的特性和使用场景。从文件读取、单词索引构建到查询功能实现,每个环节都展示了容器在数据管理和处理中的重要作用。

byte轻骑兵的技术小窝 6337

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C++Primer 【笔记】文本查询程序 TextQuery

《c++ primer》容器这一部分有一个综合应用的小程序设计。要求:程序将读取用户指定的任意文本文件,然后允许用户从该文件中查找单词。查询的结果是该单词出现的次数,并列出每次出现所在的行。如果某单词在同一行中多次出现,程序将只显示该行一次。行号按升序显示,即第 7 行应该在第 9 行之前输出,依此类推。 设计程序的一个良好习惯是首先将程序所涉及的操作列出来。明确需要提供的操作有助于建立需要的数据

Mars.的专栏 1011

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

利用容器和指针实现文本查询程序

简介 本篇利用之前介绍的智能指针,关联容器,顺序容器等知识,做一个文本查询程序。该程序读取文本中的内容,然后根据输入的单词,判断该单词出现多少次,出现在哪些行,每行的句子是什么。比如我们输入elment,输出如下 element occurs 112 times (line 36) A set element contains only a key; (line 158) operator creates a new element (line 160) Regardless of whether the

恋恋风辰的技术博客 924

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C++ //练习 12.28 编写程序实现文本查询,不要定义类来管理数据。你的程序应该接受一个文件,并与用户交互来查询单词。使用vector、map和set容器来保存来自文件的数据并生成查询结果。

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

Made in Code 443

c++ primer--容器的综合应用:文本查询程序

c++ primer容器的综合应用:文本查询程序我们的程序将读取用户指定的任意文本文件,然后允许用户从该文件中查找单词。查询的结果是该单词出现的次数,并列出每次出现所在的行。如果某单词在同一行中多次出现,程序将只显示该行一次。行号按升序显示,即第 7 行应该在第 9 行之前输出,依此类推。 例如,以本章的内容作为文件输入,然后查找单词“element”。输出的前几行应为: elem

梦想还是要有的 587

使用标准库:文本查询程序

我们将实现一个简单的文本查询程序,我们的程序允许用户在一个给定文件中查询单词。查询结果是单词在文件中出现的次数及其所在行的列表。如果一个单词在一行中出现多次,此行只列出一次。行会按照升序输出。 我们可以直接使用vector 、set和map来直接编写文本查询程序,我们在这里经定义一个抽象的解决方案。首先我们将会定义一个保存输入文件的类,它包含一个vector和map。vector用来保存输入文件...

xc13212777631的博客 510

c++ primer 之 文本查询

写在前面  以下程序代码(本人初学自写)均已自测执行并参考答案 但是测试数据不多  正所谓当局则迷    难免有错误遗漏之处  欢迎各位指出  让我得以纠正  建议更是喜欢之至   //c++ primer 4th version关联容器综合练习——文本查询程序 //*************************************************************mai

you1314520me的专栏 691

c++ prime 课后题 文本查询程序

根据书里的提示写的。 提示: 1.使用vector保存文本; 2.用map保存 >的关键字,和关键字所属行号。 3.使用ifstream,istringstream,ostream来解析文本,输出结果 是完全自己写的实现,和书里的结构不太一样,但处理查询的思路是相同,毕竟提示已经给到这个地步了。 头文件 #include #include #include #include

luluLUOYIS 414

c++智能指针关联容器应用实例:文本查询程序

这是一个c++ primer 第五版的文本查询程序对于学习/理解关联容器和智能指针 有一个很好的帮助。 // TextQuery.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include #include #include

invisible_sky的博客 599

C++关联容器综合应用:TextQuery小程序

本文介绍C++关联容器综合应用:TextQuery小程序(源自C++ Primer)。 关于关联容器的概念及介绍,请参考园子里这篇博文:http://www.cnblogs.com/cy568searchx/archive/2012/10/08/2715306.html 1 #include<iostream> 2 #include<fstream> ...

weixin_30682415的博客 136

c++ primer 4 中10.6节算法改正

最近又在看c++了。 说又,是因为自己很早就开始看c++了,但是都没有认真学,看看断断,这次终于算是想好好看一下了。 其实,这也是我研二生活的写照。到了所里,分配了研究方向,是有关云计算OpenStack的,没接触过,并且出了我们这届的2个新生,只有一个师兄在做这方面的东西。师兄也在忙着找工作,我就只能自己一个人摸索。说是摸索,其实大部分时间就是在上网浪费了,没啥个进展。我自认为不是很适合搞研

sunstorm 490

C++ demo:文本搜索以及'指针的引用'的思考

功能:本程序允许用户在一个给定的文件中查询单词。查询结果是单词在文件中出现的次数及其所在行的列表。如果一个单词在一行中出现多次,此行只列出一次。行会按照升序输出,即第7行会在第9行之前显示。思路: 使用vector来保存整个输入文件的一份拷贝。输入文件中每一行保存为vector中的元素。当需要打印一行时,可以用行号作为下标来提取行文本。 使用istringstream来将每行分解为单词

ChainingBlocks 694

C++ Primer 第十二章 12.3 使用标准库:文本查询程序 练习

练习 12.27 这个程序已经可以完成论文所作的功能了 class QueryResult { //懒得重复写,所以使用类型别名 using str_vec_ptr = std::shared_ptr<vector<string>>; using str_set_map_ptr = std::shared_ptr<map<string, set<s...

大琪子的博客 269
上一篇: 程序员的生存法则
下一篇: CString和string的相互转换
CButtonST
博客等级 码龄16年 42粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值