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;
}
运行结果显示如下

C++ //练习 5.17 假设有两个包含整数的vector对象,编写一段程序,检验其中一个vector对象是否是另一个的前缀。为了实现这一目标,对于两个不等长的vector对象,只需挑出长度较短的-LMLPHP

02-18 08:42