besoin urgent daide en c
Hors lignePoratokouetha Le 25/08/2014 à 18:18 Profil de Poratokouetha Configuration de Poratokouetha

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;

}

Hors ligneKoytlo2 Le 25/08/2014 à 22:02 Profil de Koytlo2 Configuration de Koytlo2

Fidèle à VIC. Ancien

re 

sujet en triplon (pour l'instant car j'ai pas tout lu !)

A+

Hors ligneAerokorbak Le 26/08/2014 à 23:55 Profil de Aerokorbak Configuration de Aerokorbak

le dernier

Salut Poratokouetha. Que dire, ben oui, ca rassemble à "une usine à gaz" comme on dit. Dans la jargon info., on dit aussi: imbitable! Imbitable: allusion au fait qu'un code source ne pourra pas être codé (sous entendu: sous forme d'une suite de bits). C'est une expression très utilisée. - C'est imbitale! - ce code est imbitable! etc, etc..... Pour faire cours et avec humour: Pour tuer un lapin, tu nous construis un large canal pour faire venir un cuirassé de la flotte de haute mer avec ses canons de marine de 380mm! Pour que tu commences à comprendre: On ne peux pas résoudre un problème, dont on n'a pas compris l'énoncé. Pour moi, c'est le bordel dans ta tête. Je le vois au fait que: D'une part, tu utilises des mots dont tu ne saisies pas la portée réelle. D'autre part ton code est d'une complexicité complêtement inutile. Très difficile en lecture. Je comprends que toi-même, tu es du mal à t'y retrouver. As-tu eu des réponses sur les autres forums où tu as postés? Je suis pratiquement sûr que non. Pour moi, cela indique que tu t'y prends mal dans ta demande d'aide! Mal formulé, copie à revoir! Cet exo, y'a pas de quoi sauter du 15ieme étage. Y'en a pour 10 minutes. Mais faut que tu comprennes CLAIREMENT ce que l'on te demande. Que tu puisses nous l'expliquer. Sur ce forum, t'as mis 3 posts. La description de l'exo est différentes dans les 3!!?? Was passierte? Au lieu de rester coincé sur ce foutu exemple que tu nous a donné (t'as le nez sur le guidon), explique nous, nous ne sommes pas dans ta tête! Si tu ne donnes pas les infos, nous ne les connaitrons pas! Question: Quel est le format des lignes de caracatères dans la fichier TEXTE d'entrée (celui que tu lis) c'est: a) mot1,mot2,sous-chaine b) mot1,mot2,mot3,....,motN,sous-chaine peut t'il y avoir des espaces avant et/ou après les virgules: mot1, mot2, mot3..... Si oui, dois tu les conserver, les detruire??? aucune info! Ces chaines ont'elles une longueur maximale??? Quelle Stratégie si une entrée est invalide? (pas au format attendu). Quel est le traitement que tu dois faire dessus?? Explique. (pas avec ton exemple, avec mot1,mot2,motN, sous-chaine, etc....) D'une manière GENERALE. Explique bien. Je dois couper après mot1, enlever la virgule, la remplacer par le symbole: ':', etc, etc.... Un programme informatique, c'est (généralement): 1/ des entrées (elles ont un/des format(s), c'est une/des lecture(s) [input] ). 2/ des traitements sur ces entrées. 3/ des sorties (les résultats, c'est une/des écriture(s) [output]). Ton soft, il est de ce type. Peux-être, puis-je t'aider. Mais alors va falloir être plus bavard, garçon. A+    NB: désolé mais l'éditeur ne me prends pas les CR/LF, du coup impossible de formater le texte, c'est un gros bloc, ca n'aide pas à la clarté.....

--

De la couleur, il y'en aura toujours par dessus le triste du monde...

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels