Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*****************************************
- * Assignment 4
- * Name: �i��
- * Student Number: 104303040
- * Course: 2017-CE1001
- ******************************************/
- #include<iostream>
- #include<string>
- #include<algorithm>
- #include<map>
- using namespace std;
- bool isup( char c ){ //upper
- return c > '@' && c < '[';
- }
- bool islo( char c ){ //lower
- return c > '`' && c < '{';
- }
- int main(){
- string s , sub = "" ;
- bool p = 0; //continuous
- map<char,int> mp; //count
- cout << "Please enter something without space:" << endl;
- cin >> s;
- cout << ' ' << endl << "case1:" << endl;
- for( int i = 0 ; i < s.size() ; i++ ) {
- ++mp[ isup( s[i] ) ? s[i] + 32 : s[i] ]; //counting
- if( !isup( s[i] ) && !islo( s[i] ) ) {
- putchar( s[i] == '_' ? ' ' : s[i] ); //replace with space
- continue;
- }
- putchar( isup( s[i] ) ? s[i] + 32 : s[i] - 32 ); //switch
- }
- cout << endl << ' ' << endl << "case2" << endl;
- for( int i = s.size() - 1 ; i > -1 ; i-- ){
- if( !isup( s[i] ) && !islo( s[i] ) && s[i] != '\'' ){
- if( p ){
- p = 0;
- reverse( sub.begin() , sub.end() ); // reverse
- cout << sub;
- sub = "";
- }
- putchar( s[i] == '_' ? ' ' : s[i] ); //replace
- continue;
- }
- p = 1;
- sub += s[i];
- }
- if( p ) {
- reverse( sub.begin() , sub.end() ); //legacy
- cout << sub;
- }
- cout << endl << ' ' << endl << "case3" << endl;
- cout << "a:" << mp['a'] << ",e:" << mp['e'] << ",i:" << mp['i'] << ",o:" << mp['o'] << ",u:" << mp['u'] << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement