C++ Primer(第5版) 练习 5.17
练习 5.17 假设有两个包含整数的vector对象,编写一段程序,检验其中一个vector对象是否是另一个的前缀。为了实现这一目标,对于两个不等长的vector对象,只需挑出长度较短的那个,把它的所有元素和另一个vector对象比较即可。例如,如果两个vector对象的元素分别是0、1、1、2和0、1、1、2、3、5、8,则程序的返回结果应该为真。
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
/*************************************************************************
> File Name: ex5.17.cpp
> Author:
> Mail:
> Created Time: Mon 12 Feb 2024 09:01:27 AM CST
************************************************************************/
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
vector<int> arr1;
vector<int> arr2;
int num1, num2;
cout<<"Enter arr1: ";
cin>>num1;
while(num1 != -1){
arr1.push_back(num1);
cin>>num1;
}
cout<<"Enter arr2: ";
cin>>num2;
while(num2 != -1){
arr2.push_back(num2);
cin>>num2;
}
int size1 = arr1.size();
int size2 = arr2.size();
int len;
int count = 0;
len = size1 > size2 ? size2 : size1;
for(int i = 0; i < len; i++){
if(arr1[i] == arr2[i]){
count++;
}
}
if(count == len){
cout<<"True."<<endl;
}
else{
cout<<"False."<<endl;
}
return 0;
}