-3

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

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();
}
4

1 回答 1

0

好的,所以我会用多维数组来做到这一点。我不知道您使用什么语言对其进行编程,但是如果您阅读每一行并将每个字符放入二维数组中,您可以轻松地从那里进行一些比较。如果您提供一种语言,我可以提供一些更好的链接来帮助您入门。

读取文件:链接

不过,您必须制作子字符串。你知道如何使用多维数组吗?如果没有,看看这个

于 2013-06-30T03:23:27.987 回答