Supprimer doublons

agzel Messages postés 33 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 24 septembre 2005 - 22 oct. 2004 à 17:03
green mamba Messages postés 8 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 18 janvier 2009 - 19 janv. 2009 à 13:46
Voila j'ai un fichier texte contenant des adresses mails.
De ce style =>

marcel@xxx.com
dede@xxx.com
josé@xxx.com

Dans ce fichier , on est sur qu'il y a des doublons.
De ce style =>

dede@xxx.com
...
marcel@xxx.com
dede@xxx.com
josé@xxx.com
...
marcel@xxx.com

Mais on les connais pas a l'avance.

Mon probleme est plus situé au niveau algorithmique.
Je vois pas comment faire pour les supprimer.
Need help :)

10 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 oct. 2004 à 17:37
ben si t'es sous un systeme unix te fais pas chier

sort mails.txt | uniq > mails.txt

sinon l'algo est simple, tu lit chaque lignes que tu stocke dans un tableau en cherchant si elle ne s'y trouve pas deja, plus performant si c'est trié
0
agzel Messages postés 33 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 24 septembre 2005
22 oct. 2004 à 19:24
Le prog est destiné a une plateforme windows donc le choix et vite fait :big)

en tout cas niveau algo j'ai pas trop d'idee pour trier et supprimer. Vais voir dans mon livre d'algo :)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 oct. 2004 à 19:53
moi je propose

- tu lis le fichier dans un tableau de chaines (tres simple, à coup de fgets)
- tu tris ce tableau avec qsort
- tu le parcours sequentielement en verifiant que l'element n est different de n-1 ...

en fait c'est pas si dur ?
0
agzel Messages postés 33 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 24 septembre 2005
22 oct. 2004 à 21:21
oui vu comme ca :)

va falloir faire une allocation dynamik vu ke la taille des element et inconnue ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 oct. 2004 à 21:43
oui

faudra compter le nombre de lignes et allouer en consequence

si c'est possible, je te conseilles de faire ca en c++, ca tiendras en moins de 10 lignes :)
0
agzel Messages postés 33 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 24 septembre 2005
22 oct. 2004 à 22:24
euh je connais pas trop le C++ ,j'ai deja du mal en C :)
0
agzel Messages postés 33 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 24 septembre 2005
6 nov. 2004 à 18:43
bon j'ai chercher un ti peu voila:

#include <stdio.h>
#include <conio.h>

int main(void) {

FILE * fic;
int i,j;
char * vect[20];

fic = fopen("fichier.txt", "r+");
i=0;
while(i<20 && !feof(fic))
{
fgets(vect[i], sizeof(vect[i]), fic);
i++;
}
fclose(fic);

for(j=0;j<20;j++)
{
printf("%s",vect[j]);
}

getch();

return 0;
}

La c juste pour lire les lignes du fichier texte est les ranger dans un vecteur.
Ca bug :big) je m'embrouille !
Need help
0
green mamba Messages postés 8 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 11:16
c'est pas resolu!!! on m'a dit que c'etais resolu!!
0
agzel Messages postés 33 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 24 septembre 2005
19 janv. 2009 à 09:10
Le déterreur de post, le retour warf warf warf :)
Il a plus de 4 ans le message.

La solution a été trouvée en combinant le qsort avec un tableaux à plusieurs dimensions.
si je retrouve mes sources, je les posterais.
0
green mamba Messages postés 8 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 18 janvier 2009
19 janv. 2009 à 13:46
désolé mais j'en ai "besoin"... :-S

Merci a cleui qui me trouve LA solution :D
0
Rejoignez-nous