The following is a C++ program using STL vector container. Just wanted to know why the display() function is not printing the vector contents to the screen. If displaying the size() line is commented out, display() function works fine.
#include <iostream>
#include <vector>
using namespace std;
void display(vector<int> &v)
{
for(int i; i<v.size(); i++)
{
cout << v[i] << " ";
}
cout << "\n" << endl;
}
int main()
{
vector<int> v;
cout << "Size of Vector=" << v.size() << endl;
//Putting values into the vector
int x;
cout << "Enter five integer values" << endl;
for(int i; i<5; i++)
{
cin >> x;
v.push_back(x);
}
//Size after adding values
cout << "Size of Vector=" << v.size() << endl;
//Display the contents of vector
display(v);
v.push_back(6);
//Size after adding values
cout << "Size of Vector=" << v.size() << endl;
//Display the contents of vector
display(v);
}
Output:
Size of Vector=0
Enter five integer values
1
2
3
4
5
Size of Vector=5
Size of Vector=6
If you use compiler versions g++ 11 or more than then you simply use:
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> v;
int x;
cout << "Enter five integer values" << endl;
for(int i=0; i<5; i++)
{
cin >> x;
v.push_back(x);
}
for (auto i: v)
cout<< i <<endl;
}
You are not initializing your variables. for(int i = 0;
not for(int i;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With