CPP
cpp
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
#include <iostream>
#include <string>
#include <locale>
using namespace std;
int main()
{
string s,sub,r; getline(cin,s); int ctr{};
cout<<"Input = "<<s<<endl; s+='#';
for(size_t i=0;i<s.size();i++)
{
if(s[i]=='#' && (ctr>0&&ctr<3) &&
s[i-1]!='#')
{ for(int i=sub.size()-1;i>=0;i--)
r+=(ctr==1?sub[i]:(islower(sub[i])?
toupper(sub[i]):tolower(sub[i])));
ctr=1; sub = ""; r += s[i]; }
else if(s[i]=='#' && s[i-1]!='#' &&
(ctr>=3||ctr==0)) { ctr=1; r+=s[i]; }
else if(s[i]=='#') {ctr++; r+=s[i];}
else if(ctr>0&&ctr<3 && s[i]!='#')
sub += s[i];
else if((ctr>=3||ctr==0) && s[i]!='#')
r += s[i];
}
cout<<"Output = "<<r.substr(0,r.size()-1);
}
Enter to Rename, Shift+Enter to Preview
OUTPUT
Run