Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Prodentim Probiotics Specially Designed For The Health Of Your Teeth And Gums

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Teach Your Child To Read

Powerful WordPress hosting for WordPress professionals

Disclosure: My content contains affiliate links.

31,166 questions

40,722 answers

573 users

How to reverse an array of characters without affecting the special characters in C++

1 Answer

0 votes
#include <bits/stdc++.h> 

using namespace std; 
  
bool is_letter(char x) { 
    return ((x >= 'a' && x <= 'z') || (x >= 'A' && x <= 'Z')); 
} 
  
void reverse(char s[]) { 
    int right = strlen(s) - 1, left = 0; 
  
    while (left < right) { 
        if (!is_letter(s[left])) 
            left++; 
        else if (!is_letter(s[right])) 
                right--; 
             else { 
                swap(s[left], s[right]); 
                left++; 
                right--; 
             } 
    } 
} 
  
int main() 
{ 
    char s[] = "a#b$%c&*(def!"; 

    reverse(s); 
    
    cout << s;
    
    return 0; 
} 



/*
run:

f#e$%d&*(cba!

*/

 





answered Jun 14, 2019 by avibootz
...