第三章 3.5.3节练习
来源:互联网 发布:生成全排列的递归算法 编辑:程序博客网 时间:2024/04/30 16:51
练习3.34
假定p1和p2指向同一个数组中的元素,则下面程序的功能是什么?什么情况下该程序是非法的?
p1 += p2 -p2;
解答:
很多情况下,这段代码都会出错。
1. p2是last*,p1是begin*
2.p1的位置大于p2很多
练习3.35
编写一段程序,利用指针将数组中的元素置为0。
解答:
#include <iostream>#include <iterator>using namespace std;int main(){int num[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };auto first = begin(num);auto last = end(num);for (; first != last; ++first){*first = 0;}for (auto i : num){cout << i << endl;}}
练习3.36
编写一段程序,比较两个数组是否相等。在写一段程序,比较两个vector对象是否相等。
解答:
#include <iostream>#include <vector>#include <iterator>using namespace std;int main(){bool flag = true;int num1[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };int num2[11] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 3 };auto first1 = begin(num1);auto last1 = end(num1);auto first2 = begin(num2);auto last2 = end(num2);for (; first1 != last1 || first2 != last2; ++first1, ++first2){if (*first1 != *first2){flag = false;break;}}cout << flag << endl;}
#include <iostream>#include <vector>#include <iterator>using namespace std;int main(){bool flag = true;int num1[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };int num2[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 18, 9 };auto first1 = begin(num1);auto last1 = end(num1);auto first2 = begin(num2);auto last2 = end(num2);vector<int> vnum1(first1, last1), vnum2(first2, last2);cout << (vnum1 == vnum2) << endl;}这里vector对象可以直接进行比较。
0 0
- 第三章 3.5.3节练习
- 第三章 3.5.1节练习
- 第三章 3.5.2节练习
- 第三章 3.5.4节练习
- 第三章 3.5.5节练习
- 第三章 3.2.3节练习
- 第三章 3.3.3节练习
- 第三章 3.1节练习 & 3.2.2节练习
- 第三章 3.3.1节练习 & 3.3.2节练习
- 第三章 3.4.1节练习
- 第三章 3.4.2节练习
- ACCPS1C#第三章上机练习2,3
- 第三章上机练习2,3
- 第三章练习15
- 第三章课后练习
- 第三章 上机练习
- SQL 第三章 练习
- 第三章上机练习
- http://blog.csdn.net/zhurhyme/article/details/28101719
- linux下的webserver BOA及CGIC库的使用指南(转帖)
- Android 开发 -------- 自定义View 画 五子棋
- 网站搭建从零开始(一)域名
- hdu 5062 单峰数(12321)的个数
- 第三章 3.5.3节练习
- CGIC库的移植
- CGIC库的移植及使用
- Day01 准备工作
- 黑马程序员----------多线程
- SharedPreferences具体使用方法及createPackageContext方法(获取其他应用的共享文件)
- 运营活动需求实现
- JAVA程序设计(02.1)-----个税起征点计算
- Debug文件夹下没有.exe文件