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

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,885 questions

51,811 answers

573 users

How to capitalize the first and last letter of each word in char array with C++

1 Answer

0 votes
#include <bits/stdc++.h>
 
using namespace std;
 
void capitalize_first_last(char *arr, int len) {
    unordered_set<int> uset;
    uset.insert(0); 
    uset.insert(len - 1);
     
    for (int i = 1; i < len; i++){
        if (arr[i] == ' ') {
            if (uset.find(i - 1) == uset.end())
                uset.insert(i - 1); 
            if (uset.find(i + 1) == uset.end())         
                uset.insert(i + 1); 
        }
    }
    for (auto i = uset.begin(); i != uset.end(); i++)
        arr[*i] -= 32;
}
 
int main() {
    char arr[] = "abcd efgh ijkl";
 
    capitalize_first_last(arr, sizeof(arr) - 1);
     
    cout << arr;
     
    return 0;
}
 
 
/*
run:
 
AbcD EfgH IjkL
 
*/

 



answered Jul 10, 2019 by avibootz
edited Jul 11, 2019 by avibootz
...