-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstring2.cpp
More file actions
37 lines (31 loc) · 841 Bytes
/
string2.cpp
File metadata and controls
37 lines (31 loc) · 841 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char **argv){
const string delims(" \t,.;");
string line;
//for every line read successfully
while(getline(cin, line)){
string::size_type begIdx, endIdx;
//search beginning of the first word
begIdx = line.find_first_not_of(delims);
//while beginning of the first word
while(begIdx != string::npos){
//search end of the actual word
endIdx = line.find_first_of(delims, begIdx);
if(endIdx == string::npos){
//end of word is end of file
endIdx = line.length();
}
//print characters in reverse order
for(int i=endIdx-1;i>=static_cast<int>(begIdx);--i){
cout << line[i];
}
cout << ' ';
//search beginning of the next word
begIdx = line.find_first_not_of(delims, endIdx);
}
cout << endl;
}
return 0;
}