这是我第一篇博客日志,直接切入主题。
题目:用标准输入方式输入一系列字符串, 记录出现字符串出现最多次数的信息。
例如
输入 how, now now brow brow row now
输出 now occurs 3 次
开始想用数组存储字符串,但是数组的大小不能动态增长,想到标准库vector类, 可以很好解决这个问题,不多说了,代码如下:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string str;
vector<string> letter; //存储输入的字符串
vector<int> occur; //存储字符串出现的次数
vector<int>::size_type max, k;
while (cin >> str) {
vector<string>::size_type iter;
for ( iter = 0; iter != letter.size(); ++iter) {
if(str == letter[iter]) //该字符已出现
break;
else
continue;
}
// 是新字符
if (iter == letter.size()) {
letter.push_back(str); //存储新字符
occur.push_back(1) ; //存储出现次数为1
}
// 已出现的字符
else
++occur[iter]; // 出现次数加1
}
max = 0;
for(k = 1; k != occur.size(); k++) {
if(occur[max] < occur[k])
max = k;
}
cout<<letter[max]<<" occurs "<<occur[max]<<" times "<<endl;
return 0;
}
这样就解决了问题
分享到:
相关推荐
C++ vector学习,自己的学习心得
C++中的vector容器 C++中的vector容器是一个动态数组,可以存储各种类型的数据,包括基本数据类型和自定义数据类型。vector容器提供了多种方式来访问和遍历容器中的数据。 vector容器的语法与使用 vector容器的...
然而,对于学习和理解C++内存管理和容器实现原理,尝试自己编写一个类似`std::vector`的数据结构是很有价值的。在这个自己实现的`vector`中,我们将探讨其核心功能以及优化的动态内存管理。 1. **基本结构**:一个...
《Vector Cast使用手册》 在软件开发过程中,测试是确保产品质量的重要环节。单元测试和集成测试作为两种关键的测试方法,对于发现代码中的错误和缺陷至关重要。Vector Cast是一款强大的自动化测试工具,它提供了...
Vector Cast Train资料是针对如何使用Vector Cast进行单元测试的一套学习资源。这套资料可能包括详细的教程、示例项目、用户指南和最佳实践等内容,帮助开发者深入理解和掌握Vector Cast的使用。以下是对Vector Cast...
通过深入理解这个驱动的源代码,我们可以学习到如何与硬件接口交互,如何处理XCP报文,以及如何集成到VECTOR的标定环境中。 总的来说,"XCP Basic Driver.rar"提供的资源对于理解XCP协议和在VECTOR平台上进行标定...
MATLAB 中的 Vector MATLAB 作为一款功能强大的数学软件,Vector 是其核心概念之一。...我们还学习了如何使用 `linspace` 和 `round` 函数生成等距条目,并强制 n 的值。这些知识点对于 MATLAB 的使用和应用非常重要。
在C++编程语言中,`std::vector`是标准模板库(STL)中的一种容器,它提供...在`studyworkspace`这个文件夹中,可能包含了关于`vector`实现的代码示例和练习,通过学习和实践这些内容,你将更深入地掌握`vector`的使用。
在C++标准库中,`std::vector`和`std::map`是两种非常重要的容器。它们被设计用于存储和管理数据,各自有着独特的特性和用途。...在学习过程中,不断实践和优化,将使你在编程之路上更加得心应手。
尽管VC6.0已经相对过时,但它仍然是许多开发者学习C++的基础工具,因此这个项目对于初学者来说具有很高的实践价值。 总结来说,"用vector写的学生管理系统"是一个结合了C++的vector容器、面向对象编程和基本文件...
【Vector Cast】是一款知名的自动化单元测试工具,广泛应用于软件开发中的质量保证环节,尤其是在关键领域如汽车、...在实际操作中,不断学习和适应Vector Cast的新特性和最佳实践,将有助于提升整个团队的测试能力。
"Vector-XCP 源代码" 是一个与嵌入式汽车电子控制单元(ECU)开发相关的源代码包,...通过学习和使用这些源代码,开发者可以提升ECU软件开发的效率,确保项目的质量和兼容性,并且能够应对不断变化的汽车电子技术挑战。
通过这个"Labview Vector CAN"示例,用户不仅可以学习到如何在Labview环境中配置和控制Vector硬件,还能深入理解CAN和LIN通信协议的实现细节。对于开发和测试涉及CAN或LIN的嵌入式系统来说,这是一个非常有价值的...
用户手册的其他部分可能还包括了关于Vector SLP4的使用历史、快速查找信息的方法、约定、认证、保修、支持、商标、勘误表、硬件制造商的示例代码以及手册学习目标等信息。这些内容有助于读者更好地理解和使用手册...
在本项目"学生成绩管理(主要是Vector的用法)"中,主要探讨的是如何利用C++...通过学习这个项目,我们可以掌握`std::vector`的基本操作,理解操作符重载的重要性,并学会在实际场景中应用这些知识,提升C++编程能力。
【VectorCast_user_code】使用教程 VectorCast是一款广泛应用于软件测试,尤其是单元测试(UT)...在实际项目中,不断学习和实践User Code的用法,将有助于更好地利用VectorCast工具,从而实现高效、全面的软件测试。
VectorCAST是一款专业的软件测试工具,尤其在嵌入式系统和实时系统的代码测试领域中具有广泛的应用。本视频“VectorCAST:基础功能演示”由Vector中国提供,旨在为那些需要进行代码测试的人员提供一个详尽的指导。...
在C++编程中,`std::vector`是一个非常重要的...学习并理解这些概念和操作对于熟练掌握C++的容器和算法至关重要,也是编写高效代码的基础。在实际项目中,灵活运用`std::vector`可以极大地提高代码的可读性和可维护性。
编程语言:C++ 实现功能:自定义实现的Vector类 参考方向:C++泛化模板编程 C++初学者参考学习