Probleme en c
soukainaaaa
Messages postés
2
Statut
Membre
-
azerty123456 -
azerty123456 -
j' ai trouver un grand probléme en langage C.
je veus coupier les lignes d'un fichier a un tableau ,chaque ligne contient plusieurs mots ,il faus comparer les mots d chaque phrase avec une liste des mots? s'il est trouvé ok si nn retourner n'existe pas.
exemple
la phrase int x=2;
il fait separer int est dis que c'est un mot cle
x: un variable
=:separateur
2: un nombre entier;
.: un separateur
j'ai utiliser cette fonction pour coupier les information saisient par l utilisateur:
void lire_fichier()
{
FILE *fichii;
char w[100][100];
int j=0 ;
fichii=fopen("fichii.txt","r");
while(!feof(fichii))
{ fgets(w[i],100,fichii);
i++;}
fclose(fichii);
for(j=0;j<i;j++)
{
printf("%s",w[j]);
}
printf("\n\n");
}
j'ai un autre tableau qui contient le mot int ( c'est seulement pour tester si le premier mot de la table w est la meme que int
w contient pour chaque ligne
int x=2;
printf("%d",x);
le probleme c'est que lorsque j'ai utiliser la fonction strtok(), j'arrive pas a separer chaque mot pour la comparer avec la liste des mots
alors j'obtient a la fin que int ce n'est pas un mot cle
sachant qu il ya un int parmis la liste des mots.
void lire_mot()
{
FILE *mot;
int k=0 ;
char x[100][100];
int l=0,j;
char s[100][100];
//----
char const*pc=strtok(ligne," ");
while(pc !=NULL)
{
printf("%s",pc);
strcpy(s[l],pc);
l++;
pc=strtok(NULL, " ");
}
printf("\n\n\n");
for(j=0;j<l;j++)
printf("%s",s[j]);
//-----------
mot=fopen("mot.txt","r");
while(!feof(mot))
{ fgets(x[k],100,mot);
k++;}
fclose(mot);
printf("\n\n");
for(j=0;j<l;j++)
{
printf("\t%s",s[j]);
}
for(j=0;j<k;j++)
{
printf("\n%s",x[j]);
}
printf("\n\n");
while(j<k&&strcmp(s[0],x[j])!=0 ){
j++;}
if(j<k){
printf("%s: est un mot clef ",s[0]);}
else{
printf("%s:n'est pas un mot clef ",s[0]);
}
}
Merci beaucoup.
je veus coupier les lignes d'un fichier a un tableau ,chaque ligne contient plusieurs mots ,il faus comparer les mots d chaque phrase avec une liste des mots? s'il est trouvé ok si nn retourner n'existe pas.
exemple
la phrase int x=2;
il fait separer int est dis que c'est un mot cle
x: un variable
=:separateur
2: un nombre entier;
.: un separateur
j'ai utiliser cette fonction pour coupier les information saisient par l utilisateur:
void lire_fichier()
{
FILE *fichii;
char w[100][100];
int j=0 ;
fichii=fopen("fichii.txt","r");
while(!feof(fichii))
{ fgets(w[i],100,fichii);
i++;}
fclose(fichii);
for(j=0;j<i;j++)
{
printf("%s",w[j]);
}
printf("\n\n");
}
j'ai un autre tableau qui contient le mot int ( c'est seulement pour tester si le premier mot de la table w est la meme que int
w contient pour chaque ligne
int x=2;
printf("%d",x);
le probleme c'est que lorsque j'ai utiliser la fonction strtok(), j'arrive pas a separer chaque mot pour la comparer avec la liste des mots
alors j'obtient a la fin que int ce n'est pas un mot cle
sachant qu il ya un int parmis la liste des mots.
void lire_mot()
{
FILE *mot;
int k=0 ;
char x[100][100];
int l=0,j;
char s[100][100];
//----
char const*pc=strtok(ligne," ");
while(pc !=NULL)
{
printf("%s",pc);
strcpy(s[l],pc);
l++;
pc=strtok(NULL, " ");
}
printf("\n\n\n");
for(j=0;j<l;j++)
printf("%s",s[j]);
//-----------
mot=fopen("mot.txt","r");
while(!feof(mot))
{ fgets(x[k],100,mot);
k++;}
fclose(mot);
printf("\n\n");
for(j=0;j<l;j++)
{
printf("\t%s",s[j]);
}
for(j=0;j<k;j++)
{
printf("\n%s",x[j]);
}
printf("\n\n");
while(j<k&&strcmp(s[0],x[j])!=0 ){
j++;}
if(j<k){
printf("%s: est un mot clef ",s[0]);}
else{
printf("%s:n'est pas un mot clef ",s[0]);
}
}
Merci beaucoup.