#pragma region range for 求平方數
//關鍵是掌握范圍 for 來訪問vector元素
//要理解援用操作符的作用
vector<int> ivec{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (auto &i : ivec)
{
i *= i;
}
for (auto i : ivec)
{
cout << i << endl;
}
#pragma endregion
#pragma region 訪問并修改string為大寫
vector<string> svec{ "i", "am", "wall-e" };
for (auto &s : svec)
{
for (auto &c : s)
{
if (isalpha(c))
{
c = toupper(c);
}
}
}
for (auto s : svec)
{
cout << s << endl;
}
#pragma endregion
#pragma region 嘗試比較1下兩個不同類型的元素
//if (ivec > svec); //err 沒法比較兩個不同的類型
vector<int> ivec2{ 1, 2, 3, 4, 5, 6 };
if (ivec > ivec2)
{
cout << "ivec > ivec2" << endl;
}
#pragma endregion
#pragma region 嘗試設計1個常量的vector,看看能否使用索引來獲得
const vector< int> ivec3{ 1, 2, 3, 4, 5, 6 };
for (decltype(ivec3.size()) i = 0; i < ivec3.size(); i++)
{
int a = ivec3[i]; //可以訪問,但是沒法修改
}
#pragma endregion
#pragma region 實例統計分數
//vector< int> score(11,0);
//unsigned input = 0;
//unsigned index = 0;
//while (cin >> input)
//{
// if (input < 100)
// {
// score[input / 10]++;
// }
// index++;
// if (index == 10)
// {
// break;
// }
//}
//for (auto i : score)
//{
// cout << i << ",";
//}
//cout << endl;
#pragma endregion
#pragma region 實例下標添加元素
vector< int> addIndex;
//addIndex[1] = 0; //err 沒法使用下標來添加元素
#pragma endregion
#pragma region 練習3.20 使用下標順次輸出首尾兩個數實例下標添加元素
for (decltype(ivec.size()) i = 0; i < ivec.size()/2; i++)
{
cout << ivec[i] << "," ;
cout << ivec[ivec.size() - i-1] << ",";
}
#pragma endregion