Demande l'aide des meilleurs ! ;)

Résolu
jekburn Messages postés 26 Date d'inscription jeudi 11 novembre 2004 Statut Membre Dernière intervention 29 octobre 2009 - 15 oct. 2009 à 20:20
jekburn Messages postés 26 Date d'inscription jeudi 11 novembre 2004 Statut Membre Dernière intervention 29 octobre 2009 - 17 oct. 2009 à 11:36
Bonjour,

Le programme suivant devrait d'en un futur proche sortir et enregistrer toutes les adresses mail existantes.
Mais là, la fatigue surement ! :) je bloque, je n'arrive pas à effectuer le classemnt par ordre alphabétique des adresses qui sortent et l'élimination des doublons.
Si quelqu'un pouvait m'aidé, m'aiguillé se serait sympa.

Merci à tous ceux qui se pencherons sur mon cas !



#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.c>

#define FileName "mail.csv" //fichier 65000 ligne max

char mail[1024];
int randi(int Min, int Max);

int main(int argc, char *argv[], char *envp[]){
int Number;
int Longueur=20;
int i,j;
printf("Nombre de Mail a generer: ");
scanf("%d", &Number);
FILE *File;
File=fopen(FileName,"w");
for (i=1; i<=Number; i++){
for (j=0; j<Longueur; j++){
switch(randi(1,4)){
case 1 : mail[j]=(char)randi(95,95);break;
case 2 : mail[j]=(char)randi(45,45); break;
case 3 : mail[j]=(char)randi(46,46); break;
case 4 : mail[j]=(char)randi(97,122);break;
}
}
char hotmail [] = "@hotmail.fr";
char vr [] = ";";
printf("%s\n",mail);// affiche à l'écran
fprintf(File, "%s%s\%s\n", mail,hotmail,vr);// enregistre dans le fichier
}
fclose(File);
getch();
}

int randi(int Min, int Max){
return ( Min + ( rand() % (Max - Min+1) ) );
}
A voir également:

3 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
15 oct. 2009 à 23:18
Deux solutions:
- Tu ne met pas les mails tout de suite dans le fichier, mais dans un tableau dynamique, que tu tries ensuite.
- Tu laisses tel quel, et tu appliques ensuite la commande suivante sur ton fichier csv: cat mail.csv | sort | uniq (Ne fonctionne évidemment que sous Unix)
3
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
16 oct. 2009 à 18:40
Salut,
Pour commencer ça serait bien de préciser l'OS.
Ensuite, précision : "Le programme suivant devrait d'en un futur proche sortir et enregistrer toutes les adresses mail existantes"
D'une part, ce ne sont que des adresses hotmail (au temps pour moi si ça va être corrigé dans un "futur proche"), et d'autre part, tu expliques comment tu fais pour savoir si elles sont existantes ? (adresse valide ne veut pas dire qu'elle existe...).

Sinon, un petit system("sort mail.csv >> res.csv"); devrait faire l'affaire (sous Linux comme sous Windows).

Cordialement, uaip.
3
jekburn Messages postés 26 Date d'inscription jeudi 11 novembre 2004 Statut Membre Dernière intervention 29 octobre 2009
17 oct. 2009 à 11:36
Salut !
Désolé pour le manque de précision, je suis sous vista et je programme sur DEV C++, j'ai mis HOTMAIL à titre d'exemple mais j'inclurais toutes les autres adresses ensuite.
Et pour savoir si elles sont valides j'utilise des logiciels commerciaux.
Merci pour votre aide, je vais essayer.

Salutations.
0
Rejoignez-nous