#include <string>
#include <vector>
#include <iostream>
using std:: cout ;
using std:: cin ;
using std:: vector ;
using std:: string ;
struct Person {
string m_name;
int m_initialMoney;
int m_currentMoney;
Person( const std:: string & name_, int money_= 0 )
: m_name( name_)
, m_initialMoney( 0 ) , m_currentMoney( 0 )
{ }
} ;
int main ( )
{
vector< Person> people;
// Obtain max number of names!
size_t maxIndex = 0 ;
cin >> maxIndex;
if ( maxIndex <= 0 ) {
cout << "Nothing to do.\n " ;
return 1 ;
}
// Create a person for every name...
for ( size_t index = 0 ; maxIndex ! = index; index++ ) {
std:: string newName;
cin >> newName;
cout << "Inserting " << people.size ( ) << ": " << newName << std:: endl ;
people.emplace_back ( newName) ;
}
// Check to see if the person's name is being read correctly
cout << "Checking if the proper person's name is there: \n " ;
for ( auto & person : people) {
cout << "Reading " << person.m_name << std:: endl ;
}
cout << "Changing a single element of an array: \n " ;
people[ 1 ] .m_name = "John" ;
for ( auto & person : people) {
cout << "Reading " << person.m_name << std:: endl ;
}
return 0 ;
}
ICAgICNpbmNsdWRlIDxzdHJpbmc+CiAgICAjaW5jbHVkZSA8dmVjdG9yPgogICAgI2luY2x1ZGUgPGlvc3RyZWFtPgoKICAgIHVzaW5nIHN0ZDo6Y291dDsKICAgIHVzaW5nIHN0ZDo6Y2luOwogICAgdXNpbmcgc3RkOjp2ZWN0b3I7CiAgICB1c2luZyBzdGQ6OnN0cmluZzsKCiAgICBzdHJ1Y3QgUGVyc29uIHsKCSAgICBzdHJpbmcgbV9uYW1lOwoJICAgIGludCAgICBtX2luaXRpYWxNb25leTsKCSAgICBpbnQgICAgbV9jdXJyZW50TW9uZXk7CgkKCSAgICBQZXJzb24oY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWVfLCBpbnQgbW9uZXlfPTApCgkgICAgICAgIDogbV9uYW1lKG5hbWVfKQoJICAgICAgICAsIG1faW5pdGlhbE1vbmV5KDApLCBtX2N1cnJlbnRNb25leSgwKQoJICAgICAgICB7fQogICAgfTsKCiAgICBpbnQgbWFpbiAoKQogICAgewoJICAgIHZlY3RvcjxQZXJzb24+IHBlb3BsZTsKCQoJICAgIC8vIE9idGFpbiBtYXggbnVtYmVyIG9mIG5hbWVzIQoJICAgIHNpemVfdCBtYXhJbmRleCA9IDA7CgkgICAgY2luID4+IG1heEluZGV4OwoJICAgIGlmIChtYXhJbmRleCA8PSAwKSB7CgkgICAgICAgIGNvdXQgPDwgIk5vdGhpbmcgdG8gZG8uXG4iOwoJICAgICAgICByZXR1cm4gMTsKCSAgICB9CgkKCSAgICAvLyBDcmVhdGUgYSBwZXJzb24gZm9yIGV2ZXJ5IG5hbWUuLi4KCSAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IG1heEluZGV4ICE9IGluZGV4OyBpbmRleCsrKSB7CgkgICAgICAgICAgICBzdGQ6OnN0cmluZyBuZXdOYW1lOwoJICAgICAgICAgICAgY2luID4+IG5ld05hbWU7CgkgICAgICAgICAgICBjb3V0IDw8ICJJbnNlcnRpbmcgIiA8PCBwZW9wbGUuc2l6ZSgpIDw8ICI6ICIgPDwgbmV3TmFtZSA8PCBzdGQ6OmVuZGw7CgkgICAgICAgICAgICBwZW9wbGUuZW1wbGFjZV9iYWNrKG5ld05hbWUpOwoJICAgIH0KCQoJICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgcGVyc29uJ3MgbmFtZSBpcyBiZWluZyByZWFkIGNvcnJlY3RseQoJICAgIGNvdXQgPDwgIkNoZWNraW5nIGlmIHRoZSBwcm9wZXIgcGVyc29uJ3MgbmFtZSBpcyB0aGVyZTogXG4iOwoJICAgIGZvciAoYXV0byYgcGVyc29uIDogcGVvcGxlKSB7CgkgICAgICAgICAgICBjb3V0IDw8ICJSZWFkaW5nICIgPDwgcGVyc29uLm1fbmFtZSA8PCBzdGQ6OmVuZGw7CgkgICAgfQoJCgkgICAgY291dCA8PCAiQ2hhbmdpbmcgYSBzaW5nbGUgZWxlbWVudCBvZiBhbiBhcnJheTogXG4iOwoJICAgIHBlb3BsZVsxXS5tX25hbWUgPSAiSm9obiI7CgkKCSAgICBmb3IgKGF1dG8mIHBlcnNvbiA6IHBlb3BsZSkgewoJICAgICAgICAgICAgY291dCA8PCAiUmVhZGluZyAiIDw8IHBlcnNvbi5tX25hbWUgPDwgc3RkOjplbmRsOwoJICAgIH0KCQoJICAgIHJldHVybiAwOwogICAgfQo=