博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(原創) 如何列出一篇文章的所有單字並依size和字母順序排序? (初級) (C++)
阅读量:6714 次
发布时间:2019-06-25

本文共 1655 字,大约阅读时间需要 5 分钟。

這是我修C++ Lab題目

Read all the words from Alice_stroy1.txt using istream_iterator and write all unique words in a size order into cout using ostream_iterator. For those of the same size, write them in an alphbetic order.

 1
ExpandedBlockStart.gif
ContractedBlock.gif
/**/
/* 
 2InBlock.gif(C) OOMusou 2006 http://oomusou.cnblogs.com
 3InBlock.gif
 4InBlock.gifFilename    : stream_iterator_alice.cpp
 5InBlock.gifCompiler    : Visual C++ 8.0 / ISO C++
 6InBlock.gifDescription : Demo how to transform() & sort() & stable_sort()
 7InBlock.gifRelease     : 12/17/2006 1.0
 8ExpandedBlockEnd.gif*/
 9
None.gif#include 
<
fstream
>
10
None.gif#include 
<
iterator
>
11
None.gif#include 
<
vector
>
12
None.gif#include 
<
algorithm
>
13
None.gif#include 
<
iostream
>
14
None.gif#include 
<
string
>
15
None.gif#include 
<
cctype
>
 
//
 ispunct()
16
None.gif
17
None.gif
using
 
namespace
 std;
18
None.gif
19
None.gif
bool
 sortRule(
const
 
string
&
const
 
string
&
);
20
None.gif
string
 noPunct(
const
 
string
&
);
21
None.gif
22
ExpandedBlockStart.gifContractedBlock.gif
int
 main() 
dot.gif
{
23InBlock.gif  ifstream inFile("Alice_story1.txt");
24InBlock.gif
25InBlock.gif  vector<string> svec;
26InBlock.gif  // Copy ifstream to vector
27InBlock.gif  copy(istream_iterator<string>(inFile), istream_iterator<string>(), back_inserter(svec));
28InBlock.gif
29InBlock.gif  // transform vector, cutting off punctuation
30InBlock.gif  transform(svec.begin(), svec.end(), svec.begin(), noPunct);
31InBlock.gif  // Sort vector for unique
32InBlock.gif  sort(svec.begin(), svec.end());
33InBlock.gif  // Unique vector
34InBlock.gif  vector<string>::iterator iter = unique(svec.begin(), svec.end());
35InBlock.gif  svec.erase(iter, svec.end());
36InBlock.gif  
37InBlock.gif  stable_sort(svec.begin(), svec.end(), sortRule);
38InBlock.gif  // Copy to cout
39InBlock.gif  copy(svec.begin(), svec.end(), ostream_iterator<string>(cout,"\n"));
40InBlock.gif  return 0;
41ExpandedBlockEnd.gif}
42
None.gif
43
ExpandedBlockStart.gif<img id=Codehighlighter1_1166_1200_Closed_Image style="DISPLAY: none" οnclick="this.style.display='none'; Codehighlighter1_1166_1200_Closed_Text.style.display='none'; Codehighlighter1_1166_1200_Open_Image.style.display='inline'; Codeh
你可能感兴趣的文章
略论软件模块的加载策略
查看>>
siege 输出结果 理解
查看>>
C语言学习趣事_20_Assert_Setjmp
查看>>
Cogs 1672. [SPOJ375 QTREE]难存的情缘 LCT,树链剖分,填坑计划
查看>>
同一个工程下使用多个.C文件的设计(模块化设计)
查看>>
java贪吃蛇
查看>>
history
查看>>
LeetCode-4Sum
查看>>
GraphicsMagick安装&make命令使用
查看>>
用MeanJS和Yeoman生成器生成【翻译】
查看>>
加个图
查看>>
docker之container
查看>>
入园第一天
查看>>
使用BackgroundWorker解决窗口卡死
查看>>
Thinkpad 笔记本 装win7 64 位操作系统热键驱动装不上问题解决!
查看>>
【演讲实录】下一代企业级应用架构管理体系
查看>>
1.11考试
查看>>
变量和数据类型 .py
查看>>
最小生成树专题总结
查看>>
BOM属性对象方法
查看>>