Let me examplify my problem , I’ve a function like:
void printer(int width, int hight){
for(int i=0;i<width;++i) std::cout<<" & ";
for(int i=0;i<hight;++i) std::cout<<" ^ ";
std::cout<<std::endl;
}
my problem is function printer should always output of both for loop in same width
e.g:
output could look (width 5):
&^
&&&^
or there is anyway that i print any of (from above code) for loop’s output in constant width independent of no of times for loop executes
Question is unclear. Are you looking for something like the following ?
The change was just to add a loop for outputting the padding. (also changed the parameters name for clarity)
would then produce the output shown in example
and of course, rather than being passed as a parameter, the overallWidth variable could be hardcoded; an implicit constant of the printer() function.
Edit:
The snippet above stayed very close to that of the question. There are however more idiomatic approaches, for example the following “one liner”, which uses one of the string constructor overloads to produce the strings of repeated characters, and iomanip’s setw() to produce the padding.