C++ primer(第五版) 练习 5.17 个人code

来源:互联网 发布:mysql安装教程5.5 编辑:程序博客网 时间:2024/06/08 01:21


C++ primer(第五版) 练习 5.17

题目:假设有两个包含整数的vector对象,编写一段程序,检验其中一个vector对象是否是另一个的前缀。为了实现这一目标,对于两个不等长

的vector对象,只需挑出长度较短的那个,把它的所有元素和另一个vector对象比较即可。

例如,如果两个vector对象的元素分别是0、1、1、2 和0、1、1、2、3、5、8,则程序的返回结果应该为真。


答:

#include <iostream>#include <vector>using std::cout;using std::endl;using std::vector;int main(){vector<int> val1 = { 0,1, 1, 2 }, val2 = { 0, 1, 1, 2, 3, 5, 8 };unsigned cnt = 0;for (decltype(val1.size()) i = 0; i != val1.size(); ++i){if (val1[i] == val2[i]){++cnt;}}if (cnt == val1.size()){cout << "val1是val2的前缀" << endl;}else{cout << "val1不是val2的前缀" << endl;}return 0;}

执行结果:


0 0