Sometimes you want your text to look flush. That is, to have full justification so that it is aligned along both the left and margins. To make this happen, extra spaces have to be added between words as necessary. We want to write a program to calculate the number of words on a line, the total characters in those words, and the basic gap width between those words that would produce flush text. Any leftover spaces are inserted one at a time into the gaps from left to right until there are no more leftover spaces. Assume each formatted string will be of length 80 after all those gaps are filled in with spaces. The gap width is equal to : (80 - Total Characters in all Words on Line) / (Total Words on Line - 1) Input The first line of input contains a single integer n, (1 ≤ n ≤ 1000), the number of test cases that follow. Each test case consists of one line of input containing a string of length n, (1 ≤ n ≤ 80). This string will consist of two or more words as input. A word is defined as one or more contiguous characters followed by white space (space, tab, or newline). Output For each test case, output it exactly as formatted below showing the line number, total words on the line, total characters in all words on the line, and the gap width. Use integer division for all gap width calculations, and note the denominator will never be 0 since each line will always have at least two words. Sample Input 5 When April with his sweet showers has pierced the drought of March to the root. The End Sample Output Line 1 Line 2: Line 3: words=4 chars=16 gap width=21 words=3 chars=15 gap width=32 words=5 chars=24 gap width=14 Line 4: words=3 chars=10 gap width=35 Line 5 words=2 chars-6 gap width=74

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter5: Control Structures Ii (repetition)
Section: Chapter Questions
Problem 14PE
icon
Related questions
Question
Sometimes you want your text to look flush. That is, to have full justification so that it is
aligned along both the left and margins. To make this happen, extra spaces have to be added
between words as necessary. We want to write a program to calculate the number of words on
a line, the total characters in those words, and the basic gap width between those words that
would produce flush text. Any leftover spaces are inserted one at a time into the gaps from left
to right until there are no more leftover spaces. Assume each formatted string will be of length
80 after all those gaps are filled in with spaces. The gap width is equal to :
(80 - Total Characters in all Words on Line) / (Total Words on Line - 1)
Input
The first line of input contains a single integer n, (1 ≤ n ≤ 1000), the number of test cases that
follow. Each test case consists of one line of input containing a string of length n, (1 ≤ n ≤
80). This string will consist of two or more words as input. A word is defined as one or more
contiguous characters followed by white space (space, tab, or newline).
Output
For each test case, output it exactly as formatted below showing the line number, total words on the
line, total characters in all words on the line, and the gap width. Use integer division for all gap width
calculations, and note the denominator will never be 0 since each line will always have at least two
words.
Sample Input
5
When April with his
sweet showers has
pierced the drought of March
to the root.
The End
Sample Output
Line 1: words=4 chars=16 gap width=21
words=3 chars=15 gap width=32
Line 2:
Line 3: words=5 chars=24 gap width=14
Line 4: words=3 chars=10 gap width=35
Line 5: words=2 chars=6 gap width=74
Transcribed Image Text:Sometimes you want your text to look flush. That is, to have full justification so that it is aligned along both the left and margins. To make this happen, extra spaces have to be added between words as necessary. We want to write a program to calculate the number of words on a line, the total characters in those words, and the basic gap width between those words that would produce flush text. Any leftover spaces are inserted one at a time into the gaps from left to right until there are no more leftover spaces. Assume each formatted string will be of length 80 after all those gaps are filled in with spaces. The gap width is equal to : (80 - Total Characters in all Words on Line) / (Total Words on Line - 1) Input The first line of input contains a single integer n, (1 ≤ n ≤ 1000), the number of test cases that follow. Each test case consists of one line of input containing a string of length n, (1 ≤ n ≤ 80). This string will consist of two or more words as input. A word is defined as one or more contiguous characters followed by white space (space, tab, or newline). Output For each test case, output it exactly as formatted below showing the line number, total words on the line, total characters in all words on the line, and the gap width. Use integer division for all gap width calculations, and note the denominator will never be 0 since each line will always have at least two words. Sample Input 5 When April with his sweet showers has pierced the drought of March to the root. The End Sample Output Line 1: words=4 chars=16 gap width=21 words=3 chars=15 gap width=32 Line 2: Line 3: words=5 chars=24 gap width=14 Line 4: words=3 chars=10 gap width=35 Line 5: words=2 chars=6 gap width=74
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Function Arguments
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning