从文件中删除不需要的值

时间:2013-06-30 02:30:00

标签: duplicates

我遇到了这个问题,我必须从文件中删除一些数据 例如: 如果文件如下所示:

0 7 9
0 7 2 
0 8 1
1 2 6
1 2 8

我需要过滤值并获得所需的结果

0 8 1 
1 2 6
0 7 2

第一列和第二列中没有重复,第三列中没有重复值。

其实我在这个网站和其他网站上尝试了很多线程,但是我无法为此进行比较功能。

#include<Myheader.txt>

using namespace std;

ifstream vin("input.txt");
ofstream fout("out.txt");

struct point
{
    double x,t,r;
};


vector<point> temp;
vector<point> temp2;


void main()
{
int i=0;
double x1,y1,z1;
while(!vin.eof())
{
vin>>x1>>y1>>z1;
point hold;
hold.x=x1;hold.t=y1;hold.r=z1;
temp.push_back(hold);
}
for(int i=0;i<temp.size();i++)
{
point holde;
holde.x=temp[i].x;
holde.t=temp[i].t;
holde.r=temp[i].r;
for(int ii=0;ii<temp.size();ii++)
{
if(holde.x==temp[ii].x)
{
if(holde.t==temp[ii].t)
{
if(holde.r<temp[ii].r)
{
temp2.push_back(holde);
}
}
}
}
}
for(int jj=0; jj<temp2.size();jj++)
{
fout<<temp2[jj].x<<"\t"<<temp2[jj].t<<"\t"<<temp2[jj].r<<endl;
}
cout<<"end";
_getch();
}

1 个答案:

答案 0 :(得分:0)

好的,我会用多维数组做到这一点。我不知道你用什么语言来编程它但如果你读了每一行并把每个字符放到一个二维数组中,你可以很容易地从那里做一些比较。如果您提供一种语言,我可以提供一些更好的链接来帮助您入门。

阅读文件:Link

你必须制作子串。你知道如何使用多维数组吗? 如果没有,请检查this