New course! Every coder should learn Generative AI!
Try a free lesson0
Vector Lists
HY ALL, I JUST COMPILED THIS CODE BUT IT WONT GIVE ME THE EXPECTED OUTPUT. Please help to debug. #include <iostream> #include <vector> #include <string> using namespace std; int main() { vector<string> stringList; vector<string>::iterator stringListIterator; for(stringListIterator = stringList.begin(); stringListIterator != stringList.end(); ++stringListIterator) { cout << "Enter a string" ; string stringName; cin >> stringName; stringList.push_back(stringName); if(stringList.size() == 10) { break; } } for(stringListIterator = stringList.begin(); stringListIterator != stringList.end(); ++stringListIterator) { cout << *stringListIterator; cout << endl; } return 0; }
8 Answers
+ 2
Yes the vector size is '0' == empty, so there's nothing to iterate over in the input section.
unsigned int mynum = 12; // or put 12 or what ever you like in the for loop, up to you.
for(unsigned int x = 0; x < mynum; x++) // use this.
{
cout << "Enter a string" ;
string stringName;
cin >> stringName;
stringList.push_back(stringName);
if(stringList.size() == 10)
{
break;
}
}
0
Your stringList is empty, there's nothing to iterate over.
0
I assumed that the vector was initialized to vector.size = 0 at declaration, and returns a pointer to the base address.
The first for loop is my attempt at initializing the vector values to 10 using the if statement in the loop.
0
https://code.sololearn.com/ck3PJ8lO0ujb/?ref=app
This displays the size of the vector after declaration, all other statements are put within comments.
0
Hy, I managed to revise my code.
initial Code
for(stringListIterator = stringList.begin(); stringListIterator = stringList.end(); ++stringListIterator)
//stringListIterator = stringList.begin() == stringListIterator != stringList.end(), therefore doesn't enter the for-block
New Code using while loop
https://code.sololearn.com/cvvN1YSnsDMO
0
ah but what is someone enters something other than Y/y/N/n?
0
In that case an assert macro should do the trick
0
Although I class myself as a beginner...I am aware that a assert macros are used for debugging and are normally disabled/'switch off' in the production/final version of progs.