1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
serious [3.7K]
3 years ago
14

Write a function with two parameters, prefix (a string, using the string class from ) and levels (an unsigned integer). The func

tion prints the string prefix followed by "section numbers" of the form 1.1., 1.2., 1.3., and so on. The levels argument determines how many levels the section numbers have. For example, if levels is 2, then the section numbers have the form x.y. If levels is 3, then the section numbers have the form x.y.z. The digits permitted in each level are always '1' through '9'. As an example, if prefix is the string "BOX:" and levels is 2, then the function would start by printing:

Computers and Technology
1 answer:
Allisa [31]3 years ago
4 0

Answer:

Here is the program:

#include <iostream>  //to use input output functions

#include <string>  // to use functions to manipulate strings

using namespace std;  //to identify objects cin cout

void function(string prefix, unsigned int levels){  // function that takes two parameters, a string, using the string class and levels an unsigned integer

   if (levels == 0) {  //if number of levels is equal to 0

       cout << prefix << endl;  //displays the value of prefix

       return;    }  

  for (int i = 1; i <=9 ; i++){  //iterates 1 through 9 times

       string sections = (levels == 1 ? "" : ".");  //if the number of levels is equal to 1 then empty space in sections variable otherwise stores a dot

       string output = prefix +  std::to_string(i) + sections;   // displays the string prefix followed by the section numbers. Here to_string is used to convert integer to string

       function(output, levels - 1);   } }   //calls function by passing the resultant string and levels-1  recursively to print the string prefix followed by section numbers

int main() {  // start of main function

   int level = 2;  //determines the number of levels

   function("BOX", level);  } //calls function by passing the string prefix and level value

Explanation:

The program has a function named function() that takes two parameters, prefix (a string, using the string class from ) and levels (an unsigned integer). The function prints the string prefix followed by "section numbers" of the form 1.1., 1.2., 1.3., and so on. The levels argument determines how many levels the section numbers have. If the value of levels is 0 means there is 0 level then the value of prefix is printed. The for loop iterates '1' through '9' times for number of digits in each level. If the number of levels is 1 then space is printed otherwise a dot is printed. The function() calls itself recursively to print the prefix string followed by section numbers.

Let us suppose that prefix = "BOX" and level = 1

If level = 1 then the loop for (int i = 1; i <=9 ; i++) works as follows:

At first iteration:

i = 1

i <=9 is true because value of i is 1

string sections = (levels == 1 ? "" : "."); this statement checks if the levels is equal to 1. It is true so empty space is stored in sections variable so,

sections = ""

Next, string output = prefix +  std::to_string(i) + sections; statement has prefix i.e BOX plus value of i which is 1 and this int value is converted to string by to_string() method plus sections has an empty space. So this statement becomes

string output = BOX + 1  

So this concatenates BOX with 1 hence output becomes:

output = BOX1

At second iteration:

i = 2

i <=9 is true because value of i is 2

string sections = (levels == 1 ? "" : "."); is true so

sections = ""

Next, string output = prefix +  std::to_string(i) + sections; statement becomes

string output = BOX + 2  

So this concatenates BOX with 1 hence output becomes:

output = BOX2

At third iteration:

i = 3

i <=9 is true because value of i is 3

string sections = (levels == 1 ? "" : "."); is true so

sections = ""

Next, string output = prefix +  std::to_string(i) + sections; statement becomes

string output = BOX + 3  

So this concatenates BOX with 1 hence output becomes:

output = BOX3

Now at each iteration the prefix string BOX is concatenated and printed along with the value of i. So at last iteration:

At last iteration:

i = 9

i ==9 is true because value of i is 9

string sections = (levels == 1 ? "" : "."); is true so

sections = ""

Next, string output = prefix +  std::to_string(i) + sections; statement becomes

string output = BOX + 9  

So this concatenates BOX with 1 hence output becomes:

output = BOX9

After this the loop breaks at i = 10 because the condition i<=9 becomes false. So the output of the entire program is:

BOX1                                                                                                                                          BOX2                                                                                                                                          BOX3                                                                                                                                          BOX4                                                                                                                                          BOX5                                                                                                                                          BOX6                                                                                                                                          BOX7                                                                                                                                          BOX8                                                                                                                                          BOX9  

The program along with the output is attached.

You might be interested in
Is a Mazda RX7 rotary?​
bagirrra123 [75]

Answer:

Mazda RX-7. The Mazda RX-7 is a front-engine, rear-wheel-drive rotary engine powered sports car manufactured and marketed by Mazda from 1978–2002 across three generations—all noted for using a compact, lightweight Wankel rotary engine.

4 0
4 years ago
In C++ the declaration of floating point variables starts with the type name double, followed by the name of the variable, and t
Vadim26 [7]

Answer:

See explaination

Explanation:

Given a partial grammar which represents the specification for C++ style variable declaration. In this range a - z indicates terminals that represents the variable names.

'S' is the start symbol of the

non-terminal.

Hence, given,

S= TV

V= CX

Please kindly refer to attachment for further instructions and complete step by step solution.

8 0
4 years ago
The intranet is the same as the internet. true false
galina1969 [7]
False, the intranet <span> does not refer to a network that supports communication between different organizations.</span>
5 0
3 years ago
Read 2 more answers
Name of the best Android keyboard
mrs_skeptik [129]

I think Gboard is good, you can switch between languages quickly and you can translate in real time. Translation is not perfect, but it is the best translation available. Vocabulary and autocorrect is not bad too. You can change the background. It has some themes of its own, but you can always customise it with your own photo. It has instant gif, stickers and emoji options too. It also has a good collection of symbolic emojis like: *\0/*O_o(๑♡⌓♡๑)ᕙ( • ‿ • )ᕗ(☉。☉)!I cannot include all of them, they are in 100s.

But if you are looking for a solution for grammatical mistakes, then you may want to consider Grammarly.

5 0
3 years ago
A hardware company is considering adopting customer relationship management solutions. What are the possible advantages the comp
irinina [24]

Answer:

Finding customers for your business is not easy. And once you find them, there comes another challenge – Establishing and maintaining strong relationships with them.

CRM software helps you centralize, optimize and streamline your communication. The better you know your customers, the stronger your relationships will be with them.

Here, we share 6 CRM benefits that focus on key customer relationship areas, allowing you to offer high-quality, consistent and timely interactions with your customers.

Explanation:

4 0
3 years ago
Other questions:
  • Which resource do programmers sometimes have to refer to and use during planning the logical steps of the solution?
    10·2 answers
  • What is the absolute pathname of the YUM configuration file? REMEMBER: An absolute pathname begins with a forward slash
    12·1 answer
  • How do Hlookup and Vlookup differ?
    5·2 answers
  • how does modern information technology has affected society ?? Need help on how it has affected society
    10·1 answer
  • Write an application that inputs three numbers (integer) from a user. (10 pts) UPLOAD Numbers.java a. display user inputs b. det
    10·1 answer
  • Files exist on ____ storage devices, such as hard disks, dvds, usb drives, and reels of magnetic tape.
    11·1 answer
  • Which of the following is NOT an example of a crowdsourcing website?
    15·1 answer
  • Write a number guessing game. The game should have a default 1-100 picking system. Have the user guess the number the computer p
    12·1 answer
  • _________values are stored as the number of seconds since the unix epoch (35 POINTS)
    8·1 answer
  • What is the relationship between the speed of an object in the amount of energy it has? explain
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!