0

How to print the statement?

We have a vector: vector<int> v={37, 4, 5, 100, 14, 15}; I would like to print a string statement result = [["M: 37", "B: 4", "C: 5"], ["M: 100", "B: 14", "C: 15"]]; Does anybody knows how to print string result in such form? Size of vector can be unknown. https://code.sololearn.com/cQn1M87rMy13/?ref=app

7th Nov 2022, 12:28 PM
TeaserCode
13 Respuestas
+ 2
TeaserCode ... I wrote this earlier, but since you haven't shared a code bit link, I'm not even sure this was what you plan to do, at all ... https://code.sololearn.com/ceK9VdPpF0n2/?ref=app
8th Nov 2022, 9:26 AM
Ipang
+ 1
Use printf, which accepts strings and interpolated values in arbitrary formats
7th Nov 2022, 1:22 PM
Emerson Prado
Emerson Prado - avatar
+ 1
In your output example, each row was formed from 3 elements (M, B, C) Apart from unknown/unpredictable size, what if the number of elements were not fully divisible by 3? would there be an incomplete row?
7th Nov 2022, 3:23 PM
Ipang
+ 1
It's easy to know the size of the 2d vector. It receives the items from the 1d vector, divided in 3 item inner vectors. So, just divide the 1d vector size by 3. Also easy to form the 2d vector from the 1d vector. Just iterate the 1d vector items, and calculate the outer and inner 2d vector indexes, respectively, from the result and remainder of the 1d vector index by 3.
8th Nov 2022, 12:19 AM
Emerson Prado
Emerson Prado - avatar
+ 1
TeaserCode Are you into transforming the `int` vector into a 2D `string` vector, or just printing the `int` vector with some format? I was wondering what you meant by "string with subvectors" Any code for a review and discuss further?
8th Nov 2022, 3:03 AM
Ipang
+ 1
TeaserCode Could you pls save this code in Code Playground and add a link to it in the question description? I'd like to see it running.
9th Nov 2022, 4:15 AM
Emerson Prado
Emerson Prado - avatar
0
No, each of three parameters have always its value. But I don't know how to do 2d string vector from vector v. So 2d vector should have, for this example two rows with three columns. Then I would make a string with subvectors. Here is a problem with printing "M: ", "B1: " snd "C1: ". When I declare 2d vector, do I have to know the size of it?
7th Nov 2022, 6:42 PM
TeaserCode
0
I try to print the content of the "int" vector into string format in such form as it said.
8th Nov 2022, 4:02 AM
TeaserCode
0
Can you write it with 2d string vector. If it is possible! #include <iostream> #include<vector> #include<cstring> using namespace std; int main(int argc, char *argv[]) { int m=0, n=200, b=7, c=9, ost1=2, ost2=1, i=2, B=1, C=1; vector<string> v; string M, B1, C1; if(m > n) { swap(m, n); } cout<<"m: "<<m<<" n: "<<n<<endl; while(C < n && i < n) { i=ost2+c*C; B=(i-ost1)/b; for(B = 1; B < C; B++) { B=(i-ost1)/b; if(i-b*B==ost1 && i>=m && i<= n) { v.push_back(to_string(i)); v.push_back(to_string(B)); v.push_back(to_string(C)); } } i++; C++; } for(unsigned i=0; i<v.size(); i++) cout<< v[i]<<" "; return 0; } /* howmuch(1, 100) => [["M: 37", "B: 5", "C: 4"], ["M: 100", "B: 14", "C: 11"]] howmuch(1000, 1100) => [["M: 1045", "B: 149", "C: 116"]] */ Here is my code. I hope you will know what does it make.
9th Nov 2022, 4:07 AM
TeaserCode
0
TeaserCode, I don't understand what the code was calculating. Variables' names were not self explanatory enough to understand what they were either, But I think you can achieve what you seek for by focusing on formatting the `string` you push into the `vector` ... P.S. Attach a code bit link so we can refer line numbers, it's not possible in raw text replies.
9th Nov 2022, 10:08 AM
Ipang
0
TeaserCode From what I understood, you have one vector, include all strings in it, then output the whole vector. A possible solution would be to write to the vector one row at a time, then output the row and reset the vector. As Ipang noticed, the variable names are too obscure. I can't tell what they are. Try to rename them to refleft their meanings. In fact, code clearness is key for you to understand your own code when you have to do later fixes or improvements.
14th Nov 2022, 11:39 AM
Emerson Prado
Emerson Prado - avatar
0
Ok, thank you.
14th Nov 2022, 7:46 PM
TeaserCode
- 1
print(2 + 2) print(5 + 4 - 3)
20th Nov 2022, 1:48 PM
Gresa