首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个判断vector容器内部数据是否相同的程序解决方法

2012-02-21 
一个判断vector容器内部数据是否相同的程序#includeiostream#includevectorusingnamespacestdintmain

一个判断vector容器内部数据是否相同的程序
#include   <iostream>
#include   <vector>
using   namespace   std;

int   main()
{
vector <int>   ivec1,   ivec2;
int   ival;
cout   < < "Enter   ivec1:(Ctrl+Z   to   end) "   < <endl;
while(cin   > >   ival)
ivec1.push_back(ival);
cin.clear();

cout   < < "Enter   ivec2: "   < <endl;
while(cin   > >   ival)
ivec2.push_back(ival);

if(ivec1.size()   ==   ivec2.size()){
cout   < < "vector容器大小相同 "   < <endl;
for(vector <int> ::iterator   iter=ivec1.begin();   iter!=ivec1.end();   ++iter)
for(vector <int> ::iterator   it=ivec2.begin();   it!=ivec2.end();   ++it){
if(   (*iter)   !=   (*it)){
cout   < < "not   equal. "   < <endl;
return   0;
}
}
cout   < < "equal. "   < <endl;
return   0;
}else{
cout   < < "vector容器大小都不同 "   < <endl;
}
return   0;
}

程序运行没有错   可是判断不入人意
请问程序哪里错了?   怎么修改  



[解决办法]
#include <iostream>
#include <vector>
using namespace std;

int main()
{
vector <int> ivec1, ivec2;
int ival;
cout < < "Enter ivec1:(Ctrl+Z to end) " < <endl;
while(cin > > ival)
ivec1.push_back(ival);
cin.clear();

cout < < "Enter ivec2: " < <endl;
while(cin > > ival)
ivec2.push_back(ival);

if(ivec1.size() == ivec2.size()){
cout < < "vector容器大小相同 " < <endl;
vector <int> ::iterator iter=ivec1.begin();
vector <int> ::iterator it=ivec2.begin();
for(; iter!=ivec1.end(); ++iter, ++it) {
if( (*iter) != (*it)){
cout < < "not equal. " < <endl;
system( "pause ");
return 0;
}
}
cout < < "equal. " < <endl;
system( "pause ");
return 0;
}else{
cout < < "vector容器大小都不同 " < <endl;
}

system( "pause ");
return 0;
}

热点排行