for循环判断两个向量对应数是否相等

#include <iostream>
#include <vector>

using namespace std;

int main ()
{
    vector<int> ivec1, ivec2;
	int ival;

	cout << "Enter elements for the first vector: (Ctrl+Z to end)" << endl;
	/*cin >> ival;
	while(ival != 32767)
	{
		ivec1.push_back(ival);
		++ival;
	}*/
	
	while(cin >> ival)
	{
		ivec1.push_back(ival);
	}

	cin.clear(); // clear就是恢复cin的有效状态,然后就可以继续输入,
	cout << "Enter elements for the second vector: (Ctrl+Z to end)" << endl;
	/*cin >> ival;
	while(ival != 32767)
	{
		ivec2.push_back(ival);
        ++ival;
	}*/
	while(cin >> ival)
	{
		ivec2.push_back(ival);
	}
     
	vector<int>::size_type size1,size2;
	size1 = ivec1.size(); //第一个向量的大小,
	size2 = ivec2.size();
	bool result = true;

	for(vector<int>::size_type ix = 0; ix != (size1 > size2 ? size2 : size1); ++ix)
	{
         if(ivec1[ix] != ivec2[ix])
		 {
			 result = false;
			 break;
		 }

	}

	if(result)
         if(size1 < size2)
			 cout << "The first vector is prefix of the second one." << endl;
		 else if(size1 == size2)
			 cout << "Two vectors are equal." << endl;
		 else 
			 cout << "The second vector is prefix of the first one." << endl;

	else
	    cout << "No vector is prefix of the other one.";

	return 0;
}

你可能感兴趣的:(for循环判断两个向量对应数是否相等)