begin process at 2012 05 28 22:07:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

compte de mots dans une chaine de caractere


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

compte de mots dans une chaine de caractere

lundi 10 décembre 2001 à 17:10:32 | compte de mots dans une chaine de caractere

zeo

Salut,
j'ai trouvé ce code source sur votre site je n'arrive pas a le compiler avec visual c++ 6.0

#include <stdio.h>

#define DEDANS 1
#define DEHORS 0

int main(int argc, char *argv[])
{
FILE *fichier; /*Declaration du flux*/
int c, nl, nm, nc, etat; /*nl = nb de lignes, nc = nb de caractere et nm =
nb de mots*/

etat = DEHORS;
nl = nm = nc = 0; /*Initialise tout a 0*/

fichier = fopen(argv[1], "r"); /*Ouvre le ficheir passer en argument*/

while(!feof(fichier)) /*tant que l'on est pas a la fin du fichier*/
{
c = fgetc(fichier); /*recuperation caractere par caractere*/
++nc; /*donc on incremente nc (nc=nc+1)*/
if(c == '\n') /*Si c = \n c'est que l'on est a la fin d'une ligne
++nl;*/ /*donc on incremente nl (nl=nl+1)*/
if(c == ' ' || c == '\n' || c == '\t') /*si on est dans un espace a la
fin d'une ligne ou dans une tabulation on est pas dans un mot*/
{
etat = DEHORS; /*donc on change l'etat et passe donc a l'etat = dehors*/
}
else if(etat == DEHORS) /*si non si l'etat est dejas = dehors*/
{
etat = DEDANS; /*on passe a etat = dedans (on est dans un mots)*/
++nm; /*donc un nouveau mots alors on incremente nm (nm=nm+1)*/
}
}
nm--; /*Il faut decrementer nm pour eviter d'afficher un mot de trop car a la
fin du fichier la boucle s'arrete et donc pas de verification de l'etat, donc
on decremente (nm=nm-1)*/
nc-=2; /*et pour les memes raison on decrement nc de 2 (nc=nc-2)*/
printf("Nd de lignes: %d\nNb de mots: %d\nNb de caracteres: %d\n", nl, nm,
nc); /*Affichage du resultat*/
}

cordialement
lundi 10 décembre 2001 à 17:37:19 | Re : compte de mots dans une chaine de caractere

Jo

Salut,
je suis l'autheur de cette source, et ce que je peut te direc'est que ce code a ete ecrit en ANSI-C et devrait, normalement compiler avec tous compilateur, mais bon peut etre que Visual-C++ c'est different, par contre je peut te dire que ce code se compile sans aucun problme avec GCC qui est un compilateur ANSI-C



-------------------------------
Réponse au message :
-------------------------------

Salut,
j'ai trouvé ce code source sur votre site je n'arrive pas a le compiler avec visual c++ 6.0

#include <stdio.h>

#define DEDANS 1
#define DEHORS 0

int main(int argc, char *argv[])
{
FILE *fichier; /*Declaration du flux*/
int c, nl, nm, nc, etat; /*nl = nb de lignes, nc = nb de caractere et nm =
nb de mots*/

etat = DEHORS;
nl = nm = nc = 0; /*Initialise tout a 0*/

fichier = fopen(argv[1], "r"); /*Ouvre le ficheir passer en argument*/

while(!feof(fichier)) /*tant que l'on est pas a la fin du fichier*/
{
c = fgetc(fichier); /*recuperation caractere par caractere*/
++nc; /*donc on incremente nc (nc=nc+1)*/
if(c == '\n') /*Si c = \n c'est que l'on est a la fin d'une ligne
++nl;*/ /*donc on incremente nl (nl=nl+1)*/
if(c == ' ' || c == '\n' || c == '\t') /*si on est dans un espace a la
fin d'une ligne ou dans une tabulation on est pas dans un mot*/
{
etat = DEHORS; /*donc on change l'etat et passe donc a l'etat = dehors*/
}
else if(etat == DEHORS) /*si non si l'etat est dejas = dehors*/
{
etat = DEDANS; /*on passe a etat = dedans (on est dans un mots)*/
++nm; /*donc un nouveau mots alors on incremente nm (nm=nm+1)*/
}
}
nm--; /*Il faut decrementer nm pour eviter d'afficher un mot de trop car a la
fin du fichier la boucle s'arrete et donc pas de verification de l'etat, donc
on decremente (nm=nm-1)*/
nc-=2; /*et pour les memes raison on decrement nc de 2 (nc=nc-2)*/
printf("Nd de lignes: %d\nNb de mots: %d\nNb de caracteres: %d\n", nl, nm,
nc); /*Affichage du resultat*/
}

cordialement


Cette discussion est classée dans : mots, etat, nl, nc, nm


Répondre à ce message

Sujets en rapport avec ce message

besoin d'aide svp:0 erreur,pourtant il ne compile pas!! [ par mistersof ] #include #include void alloc_mat(int** mat,int nl,int nc) { int i; mat=(int**)malloc(nl*sizeof(int*)); for(i=0;i<=nl;i++) mat[i]=(int*)mal Lire un fichier .FIC ou .NDX [ par leaner ] Bonjour à tous.[^^happy13] Je m'excuse si je ne suis pas dans le bon post, mais je n'ai pas trouvé un autre thème que celui de cryptage pour ma questi Mélangeur de mots... dans la phrase! [ par kdasign ] Bonjour à tous, Je ne suis pas du tout informaticien, et je n'y connais pas grand chose, j'étais simplement à la recherche d'un mélangeur de mots, un Lire tags & mots de fichiers (images) ? [ par ndubien ] Bonjour, Je recherche un moyen de lire les mots clés d'un fichier image, sa description, ses commentaires, notation... bref tout ce que contient une violation d'acces dans quickreport [ par sidalilo ] bonjour je travail sur c++ builder 6 et base de données acces, j'ai un etat de sortie par quickreport et lorsque j'appuie sur print il m'affcihe cette Manipulation des fichiers [ par ouafaei ] Bonjour à tous, Comment faire pour écrire un programme qui affiche les mots d'un programme c sans les mots clés avec les numéros de lignes de leur app Etat du bit d'un nombre [ par Debord10 ] Bsr; Je veux afficher un l'état du rang du bit d'un nombre entrer au clavier . NB:Le nombre et le rang du bit sont entrés au clavier. Merci d'avance. lire des mots separes par des espaces avec fscanf [ par vercd7am ] Bonjour, j'essaye actuellement de lire des informations contenues dans un fichier txt pour ensuite travailler avec. J'ai cree une structure pour pla exercice sur le C [ par linx2816 ] je cherche les codes des programmes ci-dessous. Es-ce que quequ'un pourrait m'aider pour ces exos. svp; merci d'avance! Exercice1 Compteur de mots


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales