Data manipulation: a simple but non-trivial project. (I require providing the source code in C++))

I have a datafile consisting of three columns (x, y, z). I would like to compare each set of (x,y), if two sets in the data are equal (up to ± 0.5) then I'd like to compare the two z columns. Here, I want to apply the following criteria:

1. If any z is outside the range (117 to118 && 122 to 128) then I'd like the row containing the z outside this range to be removed from the list of data (but be printed in another list containing the removed rows).

2. If the two z values lie within the previous range, then I would like the one farther from (125 ± 0.2) to be removed from the data.

3. If the two z values lie within (124±0.6) then keep both in the file.

Of course, if there's a set of (x,y) that do not have any matches, then this set is to be kept in the file.

Finally and more importantly, I'd like the source code in C/C++ for this somewhat straightforward task. Full payment will be made after receiving and testing this.

To explain what I want exactly, here's an simplified version of what I want:

Suppose we have this set of data (only two columns)

1 2

2 2

1 3

1 2

1 3

1 2

Then I say, if two rows start with the same number, then I only want the one which has the second column equal to 3.

So when the program runs, it starts with the first row (1, 2), then compare it to the rest. Then it finds the row

(1, 3). In this case both rows start with the same number 1. So now we compare the second column, and the action is to remove the row with second column less than 3 from the list of data (and it should be stored in another list). So as a result, the first row should go away, and we are left with

2 2

1 3

1 2

1 3

1 2

Then, row2 (2 2), which now becomes row1, is compared to the rest, but there's no other row starting with 2, so row2 is kept in the current list of data.

then run the test for row (1, 3), after we've removed the first row (1, 2), is compared to the rest below it. As a result, we remove two rows with (1, 2)

In the end, we should get a new data file with:

2 2

1 3

1 3

And another data file containing the removed rows

1 2

1 2

1 2

End of example.

The only thing is that, in my case, I have x, y, z. I want to compare (x,y) and see if there's a match, if yes, then compare z, and apply the criteria I mentioned above. If no match (i.e. there's no other x,y that is equal to the one we are testing), then this row remains as it is in the file.

Clarification:
When I say: " if two sets in the data are equal (up to ± 0.5)" I mean if x1 = x2 ± 0.5 AND y1 = y2 ± 0.5 then for me these are equal sets, so (x1, y1) = (x2, y2). Hence I apply the criteria of the values of z, which I described above, on them.

Correction:
In: "3. If the two z values lie within (124±0.6) then keep both in the file" I meant 125±0.2

Compétences : Programmation C, Programmation C++

Concernant l'employeur :
( 1 commentaire ) Southampton, United Kingdom

N° du projet : #2336846

Décerné à :

donhuan

Dear Hiring Manager I'm a expert in C,C++ and algorithm (please see my profile). I guarantee to complete your job well. Can i start? Best Regards, do-nhuan

30 £ GBP en 1 jour
(3 Commentaires)
2.8

3 freelance ont fait une offre moyenne de 28 £ pour ce travail

minhtridn2001

Thank you for invitation. I can do it. Best regards, Tri

30 £ GBP en 2 jours
(15 Commentaires)
4.3
abhishekmiet

I am a regular member of online coding judges such as spoj where these type of problems are common. I will do your work within TIME LIMIT and most important ACCURATELY.

25 £ GBP en 2 jours
(2 Commentaires)
1.8