The problem is not the lower and upper case the problem is the quotation marks. The sentence, "StopAndSmellTheRoses" prints as " stop and smell the roses", I need it to print "Stop and smell the roses". Both of these codes print the same output. Can an expert please rewrite one of these codes so that the first character read as upper case and still read the quotation marks, please. input: "StopAndSmellTheRoses" output: "Stop and smell the roses" Could you please rewrite the program in C++ according to the instructions and criteria that accepts as input a sentence in which all the words are run together, but the first character of each word is upper cases. Convert the sentence to a string in which the words are separated by spaces and only the first word starts with an upper-case letter. For example, the string "StopAndSmellTheRoses." would be converted to "Stop and smell the roses." This program reads the " as the first character, so the output is " stop and smell the roses." I need it to read "Stop and smell the roses." Criteria 1) program compiles 2) program solves problem according to specification 3) program declares, creates, or initializes static or dynamic array correctly 4) if required program defines function or functions with array parameters or array returns 5) program uses arrays to solve problem 6) program destroys any dynamic arrays #include using namespace std; int main() { char sentence[1000],answer[1000]; cout<<"Enter sentence:"<>sentence; answer[0]=sentence[0]; int j=1; for(int i=1;sentence[i]!='\0';i++) { if((int)sentence[i]>=65 && (int)sentence[i]<=90) { answer[j]=' '; j=j+1; answer[j]=sentence[i]+32; } else answer[j]=sentence[i]; j++; } for(int i=0;i
The problem is not the lower and upper case the problem is the quotation marks. The sentence, "StopAndSmellTheRoses" prints as " stop and smell the roses", I need it to print "Stop and smell the roses". Both of these codes print the same output.
Can an expert please rewrite one of these codes so that the first character read as upper case and still read the quotation marks, please.
input: "StopAndSmellTheRoses"
output: "Stop and smell the roses"
Could you please rewrite the program in C++ according to the instructions and criteria that accepts as input a sentence in which all the words are run together, but the first character of each word is upper cases. Convert the sentence to a string in which the words are separated by spaces and only the first word starts with an upper-case letter. For example, the string "StopAndSmellTheRoses." would be converted to "Stop and smell the roses." This program reads the " as the first character, so the output is " stop and smell the roses." I need it to read "Stop and smell the roses."
Criteria
1) program compiles
2) program solves problem according to specification
3) program declares, creates, or initializes static or dynamic array correctly
4) if required program defines function or functions with array parameters or array returns
5) program uses arrays to solve problem
6) program destroys any dynamic arrays
#include <iostream>
using namespace std;
int main()
{
char sentence[1000],answer[1000];
cout<<"Enter sentence:"<<endl;
cin>>sentence;
answer[0]=sentence[0];
int j=1;
for(int i=1;sentence[i]!='\0';i++)
{
if((int)sentence[i]>=65 && (int)sentence[i]<=90)
{
answer[j]=' ';
j=j+1;
answer[j]=sentence[i]+32;
}
else
answer[j]=sentence[i];
j++;
}
for(int i=0;i<answer[i]!='\0';i++)
{
cout<<answer[i];
}
}
Expert Answer
The problem with the above solution is, you have copied the first character as it is in the final array.
answer[0] = sentence[0]; will copy the first character as it is without changing it to upper case.
To change the lower case character to upper case, we can use built-in function of string.h library "toupper()"
Hence, the updated lines will be:
answer[0] = toupper(sentence[0]);
Updated code:
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char sentence[1000],answer[1000];
cout<<"Enter sentence:"<<endl;
cin>>sentence;
answer[0] = toupper(sentence[0]);
int j=1;
for(int i=1;sentence[i]!='\0';i++)
{
if(isupper(sentence[i]))
{
answer[j]=' ';
j=j+1;
answer[j]=sentence[i]+32;
}
else
answer[j]=sentence[i];
j++;
}
for(int i=0;i<answer[i]!='\0';i++)
{
cout<<answer[i];
}
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images