// Lab 12 - STL vector
// Programmer: Elaine Torrez
// Class: CMPR 121
#include <iostream>
#include <vector>
using namespace std;
void showInfo( vector< int > numbers) ;
int main( )
{
vector< int > numbers = { 1 , 3 , 5 , 7 , 9 } ;
showInfo( numbers) ;
return 0 ;
}
void showInfo( vector< int > numbers)
{
numbers.pop_back ( ) ;
cout << "There are " << numbers.size ( ) << " values in the vector." << endl;
cout << endl;
cout << "There are " << numbers.capacity ( ) << " array elements in the vector." << endl;
cout << endl;
cout << "The maximum number of int values the vector can hold is "
<< numbers.max_size ( ) << "." << endl;
cout << endl;
cout << "The value at the front is: " << numbers.front ( ) << "." << endl;
cout << endl;
cout << "The value at the back is: " << numbers.back ( ) << "." << endl;
cout << endl;
cout << "Here are all values in the vector:" << endl;
for ( int index = 0 ; index < numbers.size ( ) ; index++ )
{
cout << numbers[ index] << endl;
}
numbers.resize ( 2 ) ;
cout << "After resizing, there are " << numbers.size ( )
<< " values in the vector." << endl;
}
Ly8gTGFiIDEyIC0gU1RMIHZlY3RvcgovLyBQcm9ncmFtbWVyOiBFbGFpbmUgVG9ycmV6Ci8vIENsYXNzOiBDTVBSIDEyMQoKI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBzaG93SW5mbyh2ZWN0b3I8aW50PiBudW1iZXJzKTsKCmludCBtYWluKCkKewogICAgdmVjdG9yPGludD4gbnVtYmVycyA9IHsxLCAzLCA1LCA3LCA5fTsKCiAgICBzaG93SW5mbyhudW1iZXJzKTsKCiAgICByZXR1cm4gMDsKfQoKdm9pZCBzaG93SW5mbyh2ZWN0b3I8aW50PiBudW1iZXJzKQp7CiAgICBudW1iZXJzLnBvcF9iYWNrKCk7CgogICAgY291dCA8PCAiVGhlcmUgYXJlICIgPDwgbnVtYmVycy5zaXplKCkgPDwgIiB2YWx1ZXMgaW4gdGhlIHZlY3Rvci4iIDw8IGVuZGw7CiAgICBjb3V0IDw8IGVuZGw7CgogICAgY291dCA8PCAiVGhlcmUgYXJlICIgPDwgbnVtYmVycy5jYXBhY2l0eSgpIDw8ICIgYXJyYXkgZWxlbWVudHMgaW4gdGhlIHZlY3Rvci4iIDw8IGVuZGw7CiAgICBjb3V0IDw8IGVuZGw7CgogICAgY291dCA8PCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIGludCB2YWx1ZXMgdGhlIHZlY3RvciBjYW4gaG9sZCBpcyAiCiAgICAgICAgIDw8IG51bWJlcnMubWF4X3NpemUoKSA8PCAiLiIgPDwgZW5kbDsKICAgIGNvdXQgPDwgZW5kbDsKCiAgICBjb3V0IDw8ICJUaGUgdmFsdWUgYXQgdGhlIGZyb250IGlzOiAgIiA8PCBudW1iZXJzLmZyb250KCkgPDwgIi4iIDw8IGVuZGw7CiAgICBjb3V0IDw8IGVuZGw7CgogICAgY291dCA8PCAiVGhlIHZhbHVlIGF0IHRoZSBiYWNrIGlzOiAgIiA8PCBudW1iZXJzLmJhY2soKSA8PCAiLiIgPDwgZW5kbDsKICAgIGNvdXQgPDwgZW5kbDsKCiAgICBjb3V0IDw8ICJIZXJlIGFyZSBhbGwgdmFsdWVzIGluIHRoZSB2ZWN0b3I6IiA8PCBlbmRsOwoKICAgIGZvciAoaW50IGluZGV4ID0gMDsgaW5kZXggPCBudW1iZXJzLnNpemUoKTsgaW5kZXgrKykKICAgIHsKICAgICAgICBjb3V0IDw8IG51bWJlcnNbaW5kZXhdIDw8IGVuZGw7CiAgICB9CgogICAgbnVtYmVycy5yZXNpemUoMik7CgogICAgY291dCA8PCAiQWZ0ZXIgcmVzaXppbmcsIHRoZXJlIGFyZSAiIDw8IG51bWJlcnMuc2l6ZSgpCiAgICAgICAgIDw8ICIgdmFsdWVzIGluIHRoZSB2ZWN0b3IuIiA8PCBlbmRsOwp9