📄 习题3.15 .html
字号:
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> }</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> if (ivec.size() % 2 != 0) //提示最后一个元素没有求和</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout
<< endl </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> <<
"The last element is not been summed " </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>
<< "and its value is " </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> <<
*(ivec.end()-1) << endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> return 0;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>}</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>//读一组整数到vector对象,计算首尾配对元素的和并输出</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>//使用迭代器访问vector中的元素</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>#include <iostream></p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>#include <vector></p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>using namespace std;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>int main()</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>{</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> vector<int> ivec;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> int ival;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> //读入数据到vector对象</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout << "Enter numbers(Ctrl+Z
to end):" << endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> while (cin>>ival)</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> ivec.push_back(ival);</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> //计算首尾配对元素的和并输出</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> if (ivec.size() == 0) {</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout
<< "No element?!" << endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> return
-1;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> }</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout << "Sum of each
pair of counterpart elements in the vector:" </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> <<
endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> vector<int>::size_type
cnt=0;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> for (vector<int>::iterator
first = ivec.begin(), </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> last
= ivec.end() - 1;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> first
< last; </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> ++first,
--last) {</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout
<< *first + *last << "\t";</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> ++cnt;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> if ( cnt
% 6 == 0) //每行输出6个和</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout
<< endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> }</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> if (first == last) //提示居中元素没有求和</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout
<< endl </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> <<
"The center element is not been summed " </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> <<
"and its value is " </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> <<
*first << endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> return 0;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>}</p>
<p class=MsoNormal align=left style='text-align:left;text-autospace:none'>重做习题3.14如下:</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>//读入一段文本到vector对象,每个单词存储为vector中的一个元素。</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>//把vector对象中每个单词转化为大写字母。</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>//输出vector对象中转化后的元素,每8个单词为一行输出。</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>//使用迭代器访问vector中的元素</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>#include <iostream></p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>#include <string></p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>#include <vector></p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>#include <cctype></p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>using namespace std;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>int main()</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'>{</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> vector<string> svec;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> string str;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> //读入文本到vector对象</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout << "Enter text(Ctrl+Z
to end):" << endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> while (cin>>str)</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> svec.push_back(str);</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> //将vector对象中每个单词转化为大写字母,并输出</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> if (svec.size() == 0) {</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout
<< "No string?!" << endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> return
-1;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> }</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> cout << "Transformed
elements from the vector:" </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> <<
endl;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> vector<string>::size_type
cnt = 0;</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> for
(vector<string>::iterator iter = svec.begin(); </p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
punctuation-trim:none;text-autospace:none'> iter !=
svec.end(); ++iter) {</p>
<p class=MsoNormal align=left style='text-align:left;line-height:8.8pt;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -