bonsoir a tous ,s'ils vous plait j'ai besoin d'aide pour un programme en c ou en c++ qui prend en entrer un texte et le classe de la façon suivante :
Exemple: voici le texte : Cameroun,Sante,Social,Ebola,Afrique,le virus Ebola ne connait pas le racisme
et voila ce que mon programme doit faire
Cameroun,Afrique,le virus Ebola ne connait pas le racisme
Sante,Afrique,le virus Ebola ne connait pas le racisme
Social,Afrique,le virus Ebola ne connait pas le racisme
Ebola,Afrique,le virus Ebola ne connait pas le racisme
Afrique,Afrique,le virus Ebola ne connait pas le racisme
maintenant que vous avez vu mon exemple j'attend vos reponses
merci d'avance
voici le code que jai commencer mais ca ne fonctione pas quand j'ajoute des lignes
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main ( int arg, char* argv[]){
/* Declaration des variables*/
char c;
int b, tab[1000];
int i;
char srce[1000],desti[1000];
char seps[] =",";/* note d'espace de caratere*/
char *token = (char*)malloc(sizeof(char)*1000) ;
char *string = (char*)malloc(sizeof(char)*1000) ;
char** tabString = (char*)malloc(sizeof(char*)*100) ;;
/*Allocation de l'espace memoire*/
for(i = 0; i <100; i++)
*(tabString + i) = (char*)malloc(sizeof(char)*1000) ;
printf(" Entrer le nom du fichier source:");
scanf ("%s",srce);
/* ouverture du fichier de lecture*/
FILE *src=fopen(srce,"r");
/* on teste si ca existe*/
if(src==NULL){
printf ("il n'existe pas le fichier %s \n",srce);
return 0;
}
/*ouverture du fichier destinataire*/
printf("entrer le fichier destinataire:");
scanf("%s",desti);
FILE *dest=fopen (desti,"w+");
/*operation de separation*/
// token=strtok(string,seps);
int cpt = 0; b=1;
while (! feof(src)){
fgets(token, 1000, src);
string = strtok( token, seps );
while( string != NULL ){
strcpy(*(tabString + cpt), string);
string = strtok( NULL, seps );
cpt++;
}
b = cpt-1;
//char *token1 = (char*)malloc(sizeof(char)*1000) ;
for(i = 0; i < cpt-1; i++){
char *token1 = (char*)malloc(sizeof(char)*1000) ;
strcat(token1, *(tabString + i));
strcat(token1, ":");
strcat(token1, *(tabString + b));
strcat(token1, "\n");
printf(" %s \n", token1);
fputs(token1, dest);
free(token1);
}
}
//fputs (c ,dest);
/*on ferme les descripteur*/
fclose (src);
fclose (dest);
b = getchar();
return 0;
}