Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

For this assignment, we define three types of reversal A line reversal reverses the entire line. In a line reversal, Hello world! becomes !dlrow olleH

For this assignment, we define three types of "reversal"

A "line" reversal reverses the entire line. In a line reversal, "Hello world!" becomes "!dlrow olleH"

A "word" reversal reverses each word. In a word reversal, "Hello world!" becomes "olleH !dlrow"

A "lineword" reversal performs a line reversal and a word reversal. In a lineword reversal, "Hello world!" becomes "world! Hello".

No matter how many spaces between words in the input, the output should have only one space after each word. So a line reversal of "Hello world!" becomes "!dlrow olleH"

Write a C++ program that does line, word and lineword reversals. The program is told which type of reversal to perform by providing a single command line argument, "line", "word", or "lineword".

If no command line arguments are provided, the program should print "MISSING FLAG" and stop.

If an unrecognized command line argument is provided, the program should print "UNKNOWN FLAG" followed by the unrecognized argument, and stop.

If more than one command line argument is provided, the program should print "TOO MANY FLAGS" and stop

###How do I do Line word reversal?????.This is my code so far:: #include #include using namespace std; int main(int argc, char *argv[]){ string line; while(getline(cin,line)){ string flag; bool flagWord = false; bool flagLine = false; if(argc == 1){ cout << "MISSING FLAG" << endl; return 1; } if(argc > 2){ cout<< "TOO MANY FLAGS" << endl; return 1; } flag = argv[1]; if(flag == "word"){ flagWord = true; } else if(flag == "line"){ flagLine = true; } else if(flag == "lineword"){ flagWord = flagLine = true; } else{ cout<<"UNKNOWN FLAG " << flag << endl; } if(flagLine){ bool spaceflag = false; string newstr = ""; int j = 0; for(int i = line.length()-1;i >= 0;i--){ newstr[j] = line[i]; j++; if(isspace(line[i])){ if(spaceflag == false){ newstr[j] = ' '; j++; spaceflag = true; } } else{ newstr[j] = line[i]; j++; } } line = newstr; cout<= startindex; j--){ outline += line[j]; } while(line[i] == ' ' || line[i] == ' '){ i++; } startindex = i; if (white != ' ') { outline += white; } } } cout << outline << endl; } if(flagWord && flagLine){ string temp = ""; } } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Data Management Databases And Organizations

Authors: Richard T. Watson

2nd Edition

0471180742, 978-0471180746

More Books

Students also viewed these Databases questions

Question

The company openly shares plans and information with employees.

Answered: 1 week ago