Welcome to collectivesolver - Programming & Software Q&A. A website you can trust. All programs tested and works. Contact: aviboots(AT)netvision.net.il
Bonsai Boy of New York Bonsai Trees and Accessories

BlueHost Web Hosting

Liquid Web iThemes WordPress Hosting

Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

DreamHost Web Hosting


getResponse autofunnels

Liquid Web Cloud VPS Hosting

11,402 questions

15,552 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 by avibootz
edited Jul 11 by avibootz
...