C/C++ :: File I/O And Removing Duplicates

Nov 18, 2014

I have a program that's supposed to read in a file with comma seperated values. This file contains duplicates. The goal is to write a new file that does not contain any of the duplicates. I've successfully written the code to read in a file and create a new, identical file, but I'm failing at deleting the duplicates.

The format of each line in the file is: index,first_name,last_name,address,city,state,zip_code

Example: 1,John,Savage,579 Lone Street,Providence,RI,02903

As a requirement for the assignment, I've defined a Person class:

//File: Person.h
struct Person {
string index;
string first_name;
string last_name;

[Code] .....

This code writes the file I want (overlooking the duplicates) if I implement my equality operator as follows:

bool operator ==(const Person &a, const Person &B)/>
{
return false; //placeholder
}

Obviously this doesn't get the job done, since it will never detect a duplicate. The problem is that whenever I try to write any meaningful code, the program writes an empty file. The idea I've been trying to implement is to compare each of the members of Person like this:

bool operator ==(const Person &a, const Person &B)/>
{
//if two Person objects have equivalent names, they are duplicates
return ( (a.first_name == b.first_name) && (a.last_name == b.last_name) )
}

At first I thought the program was working just as before, but then deleting each line of the file as the result of an error in my code. However, I tried troubleshooting the problem by adding in

cout << a.last_name;

to parts of my code so I could see the value in certain places. Whenever I add this line or try to access a member of Person, the program writes a blank file.

View 3 Replies


ADVERTISEMENT

C/C++ :: Removing Characters From CSV File That Should Contain Only Numbers

Apr 3, 2014

I currently have a .csv file that should only contain numerical values however there are errors in some columns that mean there is text included. I am wondering what the best way of going about removing these characters would be.

I am looking at using : str.erase(std::remove(str.begin(), str.end(), 'xxxxxxx'), str.end());

For this I will need to read my data into a string and then remove the alphabet from that string. I am currently doing this like so (I use the '?' as a delimiter because I know there are none in my file).

#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
string Weather_test;
char chars[] =

[Code] ....

The problem with this is I don't know what to do around the chars[!eof] part.

View 8 Replies View Related

C++ :: Removing NULL Values In Text File

Sep 2, 2013

I have a measuring board that writes a .txt file in the following format:

board number;type;NUL;channel;measured value;date and time
DS207;5000007;NUL;0;20251;11.07.2013 12:30:02 MESZ
DS207;5000007;NUL;1;10159;11.07.2013 12:30:02 MESZ
DS207;5000007;NUL;4;27.18;11.07.2013 12:30:02 MESZ
DS207;5000007;NUL;0;20233;11.07.2013 12:35:02 MESZ
DS207;5000007;NUL;1;10149;11.07.2013 12:35:02 MESZ
DS207;5000007;NUL;4;27.31;11.07.2013 12:35:02 MESZ
DS207;5000007;NUL;0;20256;11.07.2013 12:40:02 MESZ
...

I would like to extract and analyse the data but the data behind the NUL entry is not accessible for me maybe due to the fact that NUL normally marks the end of a line. Is there a method to remove the NUL entries in this text file?

View 12 Replies View Related

C++ :: Removing All White Space From Line Of Text File?

Jun 30, 2014

this is the code I tried in my code block 10.05.....tried code for removing all white space from a line of a txt file. this is my code it runs but i cant get the result i need.

#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>

[Code].....

View 9 Replies View Related

C :: Two Int Arrays - Remove Duplicates From Second

Apr 3, 2013

Code: /*
generals is the first array. Max 10 elements.
numGenerals is the element count of generals.

genBuff is the second array; it is to be checked/pruned.
genCount is the element count of genBuff.
genBuff will be a max of 171, but be pruned to no more than 10, and no more than the complement of the element count of generals.
*/

[Code] ....

(I do have comments in the actual source, different from above).

I have two int arrays. They hold values from 0 to 170. The first one will never be more than 10. The second will be at most 171, but will be whittled down to at most 10, usually less. 171 is worst case, most users of this particular program will probably be reasonable and not try to add all 171 (max is 10 anyway). The first array is the original array. The second array is a temporary array. Any value in the second array that is also found in the first array, is removed from the second array, since all values in the first one must be unique. After this pruning process, both arrays will collectively contain no more than 10 unique elements; the elements from the second will be added to the first.

So right now I have three nested loops. I figured with the miniscule array sizes it wouldn't be a big deal. I can think of a way to remove one or two of them, but I want to be sure that I'm still writing clean, legible, good-practice code. The first loop walks through the first array. For each element in the first array, there is a second loop to walk through the second array to check for duplicates. If a duplicate is found, the third loop walks through the second array to overwrite the duplicate while preserving the second loop's position (j).

Is this dumb? I know that the big O gets worse and worse the deeper you go with nested loops. Even though the arrays are really tiny, is this still a thing to avoid?

View 5 Replies View Related

C++ :: Duplicates In Hash Table

Feb 24, 2013

I am having problems with this function:

bool HashTable::insert(char const * const key, const Player& aPlayer) {
//calculate the insertion position (the index of the array)
size_t index = calculateIndex(key);
for(int i=0; i < capacity; i++) {

[Code] ....

The inserting part works just fine, but the checking for duplicates where I compare the two values is crashing my program.

View 1 Replies View Related

C# :: Random Number With No Duplicates?

Oct 12, 2014

I'm making the n puzzle game (15 puzzle), but having a problem generating random numbers without the duplicates.

Random num = new Random();
int rand = num.Next(1, 15);
b.Text = rand.ToString();

eliminating the duplicate numbers and only allowing 1-15 once in each button.

View 14 Replies View Related

C++ :: Distribute Numbers Randomly - No Duplicates

Dec 13, 2013

I want to create a randomly ordered array of integers where there are no duplicates. Is there a way of doing this in one iteration? Or maybe even a standard function for this?

I'm looking for something like this:
A2 = [3 2 1 6 7 8 4 5]

View 12 Replies View Related

C :: How To Find Duplicates In Array Of Structures

Jul 21, 2014

I have an array of structures with structure def that looks like.

Code:
struct {
char * name;
char * school;
int age;
}

there are multiple people with same name but different ages so i want to list them like.

Name.
age 1
age 2 and so on

The array is sorted by name already.

View 3 Replies View Related

C :: Printing Duplicates Found In Array?

May 8, 2013

I'm having some trouble printing the duplicates found in an array. Specifically, when the value is at more than 2 positions. So if the value 3 is at position 1, 10, and 11 it'll print three messages instead of two:

value 3 at position 1 is also at position 10
value 3 at position 1 is also at position 11
value 3 at position 10 is also at position 11

instead of

value 3 at position 1 is also at position 10
value 3 at position 1 is also at position 11

This is real simple problem, but I can't seem to figure it out. I've been trying to implement another array to 'remember' the encountered position, but I haven't had any luck.

Code:
for(i = 0; i < num_count; i++){for (j = i + 1; j < num_count; j++) {if (num[i] == num[j]){printf("
value %d at position %d is also at position %d", num[i], i, j);}}}

View 8 Replies View Related

C :: Remove Duplicates Items In List Using Glib

Aug 25, 2014

I have this structures:

Code:

typedef struct {{
GList *presets;
} Settings;
typedef struct Preset preset;
struct Preset
{gchar *name;

[Code]...

I want to remove duplicates items in list if them have same freq value.

Example output with duplicate freq:

PHP Code:
name       freq    unammed      87.80    Radio ZU          92.20    Napoca FM     104.50    unammed     92.20    Rock FM      102.20 

Want output:

PHP Code: Europa FM     92.20      unammed       87.80       Radio ZU           92.20          Napoca FM       104.50          Rock FM           102.20 

write code to remove duplicates.

View 10 Replies View Related

C++ ::  Sort / Find Duplicates And Remove From Vector

Nov 18, 2013

I'm trying to sort my vector, find duplicate values using unique and erase them. Program can compile successfully but the duplicates are not removed.

output:

x: 3
y: 2
x: 6
y: 4
x: 3
y: 2
vector<Point2D> p2dvector;
void readData()

[Code].....

I also have operator== in my Point2D class which I understand it is required to use unique for vector.

bool operator==(const Point2D& lhs, const Point2D& rhs)
{
return lhs.x == rhs.y;
}

View 10 Replies View Related

C/C++ :: Two Arrays Merging Into New Array Minus Duplicates

Mar 9, 2013

I have same question as posted by holla and Iam not sure about merging the contents of 2 sorted arrays into another array without duplication of values.

View 9 Replies View Related

C++ :: Remove Duplicates Vector Of Strings But Keep First Instance - Cannot Use Algorithm

Mar 18, 2014

I have a vector of

strings.vector input;

bob
sam
bob
sammom
aardvark
money
aardvark
wanted

I need to remove the duplicates but each part of the vector corresponds to the next location. They are pairs.

ex. bob corresponds to the its definition, which is sam.

I need to keep the first instance, so keep bob and sam, but remove the second instance of bob, so remove bob and sammon. Only the first instance of the pair need to kept.

It doesn't matter if the sam and sammon don't match, all that matters is the first part of the pair.

The vector is already in alphabetical order. I can't use the algorithm library.

View 4 Replies View Related

C++ ::  Find Duplicates Before Inserting Into Doubly Linked List

Mar 8, 2013

I have a text file that needs to be read by command line arguments. The text are all numbers and can have multiple numbers on one line separated by a space. I cannot use an array or sort the numbers.So say I have a text file, listNums.txt:

12
473 8 29
30 1
8
248 17 55
29 84
5

Basically I need to read one number, find out if its odd or even by dividing by 2, search the odd or even doubly linked list that it would go into to see if its in there, if its not then add it to the bottom of the list.

View 2 Replies View Related

C++ :: Removing Element From Map?

Jun 20, 2013

I have a map as below. MoTopImpl is a class.

Map<MoTopImpl*,os_Reference_protected<MoTopImpl> > map_;

The map is populated as below:

void setMoInMap(MoTopImpl* mo,MoTopImpl* me) {
map_[mo] = me;
}

Now, I want to remove a specific element from this map. I am passing the element to be removed to the remove function as below:

void Asap::removeMoFromMap(MoTopImpl* mo) {
// First solution
if (mo != 0) {

[Code]....

And the function removeMoFromMap is called as below:

MoTopImpl* moTop = getMoTopImpl();
if (moTop != 0)
removeMoFromListMosSuspended(moTop);

But I am able to empty the map by iterating through the complete map as below:

Mapiter<MoTopImpl*,os_Reference_protected<MoTopImpl> > moIter(map_);
for (moIter = map_.first(); moIter; moIter.next()) {
moIter.remove();
}
cout << "Map zise = " << map_.size() << endl; // Prints zero

View 6 Replies View Related

C/C++ :: Removing A Name From A Vector

Nov 3, 2014

I'm supposed to create a program that stores names and then the final function is supposed to remove a name. But it only removes the first name instead of the inputted name.

the problem with names.erase(names.begin()+i)?

#include <iostream>
#include <string>//include for string function
#include <vector>//include for vectors

[Code].....

View 9 Replies View Related

C :: Removing Item From A Queue

Aug 17, 2014

I'm having a problem with removing an item from a queue. At first in the debugger I got SIGTRAP but I don't get it anymore but the problem still exists. When you try to remove an item from the queue the first nothing happens. Here's the code below compile it and you see what I'm talking about.

Code:

#include <stdio.h>
#include <stdlib.h>
struct Node {
char let;
struct Node *nextNode;
};

[code]....

View 12 Replies View Related

C++ :: Removing Characters From A String

Nov 1, 2013

I want to remove a particular character from a string. Say '.'. I've tried the following:

void removeDots(std::string &x)
{
std::remove_if(x.begin(),x.end(),[](char c){return (c == '.');});
}

This has the effect of removing the dots but keeping the length of the string the same, so old characters are left over at the end. Is there an extra action to do to x to make it the right size or is there a better way of doing it?

View 3 Replies View Related

C++ :: Removing Punctuations Off From A String

Jun 5, 2013

I'm working on a problem in which I've to design a program in which the punctuations should be removed from the string. For eg., if input str is: "Hello!!"; the output must be: "Hello".

I'm not sure how to remove a sub-string (if that's the right word!!) from a string. So, I designed a program which print out the punctuations. For eg., if input str is: "Hey!!"; the output would be: ! !

Here it is:

#include <iostream>
#include <string>
using namespace std;
int main (){
cout << "Enter a string" << endl;

[Code] ....

So, I want to know what should be added to this program so that the punctuations can be removed; or should I rewrite another program for that?

View 1 Replies View Related

C++ :: Removing All Non-doubles From A String

May 19, 2014

I have many random strings that look something like this:

" 55.343 Char 1.3825 asdf 0.1853 500 1.1359 4.0000 1 100 4.5043"

Notices how there are ints and chars and doubles in the string.

How do I remove all non-doubles for a string like this? The chars and ints may be anywhere within the string.

View 6 Replies View Related

C++ :: Removing From A Vector Of Sets?

Apr 18, 2014

I have a vector of sets in which I wish to remove a set from the vector, if it contains a certain value, is there any way of doing this?

for(int j = 0; j <= clauseVector.size(); ++j){
if(clauseVector[j].find(find) != clauseVector[j].end())
std::cout << "FOUND: " << propagator << "
";
}
}

This is what I have been using to find the element, but is there a way to remove the set that contains the element?

If needed I can include the full code

View 11 Replies View Related

C# :: Removing Items From ListBox

Mar 5, 2014

I'm working on creating a windows form with a listbox, textbox, and 2 buttons (add,remove). I need a way of removing every string matching the contents of the textbox from the listbox. Here's what I have:

for (int i=0;i<listBox1.Items.Count;i++)
{
//...
listBox1.RemoveAt(i--)
}

Seems to work, but I need a way to show a error message once the user clicks 'remove' and no items in the listbox match.

View 6 Replies View Related

C/C++ :: Removing Duplicate Values From Map?

Mar 1, 2015

im working on a homework assignment t that should print all pairs of integers that sum to val. I have so far finished except It prints duplicate values (ie (3,1) and(1,3) for values that add to 4) . how can i remove these duplicate pairs of values?

#include <iostream>
#include <map>
#include <vector>
using namespace std;
void printPairs( vector<int> numbers, int val){
int i;

[code]....

View 2 Replies View Related

C# :: Removing Title Bar From External App

Jan 3, 2015

I'm trying to remove the title bar from an external app. The reason is I don't want anyone to be able to move it.

But my code below doesn't remove the title bar. Could this be because it's not removable? I read somewhere title bars of external apps may be not removable if the app doesn't allow it.

So, I'm not sure why my code doesn't work - either it's wrong or the app doesn't permit it?

My app is a winform.

int style = GetWindowLong(app1Win, GWL_STYLE);
style = style & ~WS_BORDER;
SetWindowLong(app1Win, GWL_STYLE, style);
SetWindowPos(app1Win, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

View 1 Replies View Related

C :: Removing Trailing Character With Strtok

Sep 18, 2013

I am having a problem with the output of a file. My function does everything it needs to do with the exception of one line. I have a .dat file with the following:

Code:
joe clint james brint howard
jimmy
alexander
*
me

When I run the function my output is as such:

Code:
file opened
word: joe
digit: 3
word: clint
digit: 5
word: james

[Code] .....

ERROR non alphanumeric digit on line 4!

File closed "Howard" is only six digits in length. Also it seems to skips a line in the output which could be the extra character but I am not sure. What I find very interesting is the other names, (jimmy & alexander) on separate lines do not have that problem.

Here is my function:

Code:
#include "main.h"
#include "fileCheck.h"
int fileCheck(FILE *fp){

int line_count = 0;
int ret_val = 0;
int digit_count = 0;
char file[BUFF];

[Code] .....

How I can correct this? I am aware of sscanf to parse the line but I do not know the format of the file. All I know is the file will be alphanumeric and if there is a non-alphanumeric, I must print out an error with the line it occurred on such as the above output.

View 3 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved