Chargement en cours...
Connexion au forum informatique de Sur-la-Toile
La discussion « incompréhension programme en C » se trouve dans le forum « Programmation »
Statut de la discussion » incompréhension programme en C « ( normale)

incompréhension programme en C

» Liste des Forums » Programmation » Discussion

Le  4-12-2007 à 22:24 #


Bonjour,

voici un programme qui compte les mots, les caractères et les lignes, en définissant un mot approximativement comme toute séquence de caractères qui ne contient ni espace, ni tabulation, ni fin de ligne:

#define DEDANS 1 /*à l'intérieur d'un mot*/
#define DEHORS 0 /*à l'extérieur d'un mot*/

main()
{
int c, nc, nl, nm, etat;

etat = DEHORS;
nc = nl = nm = 0;
while((c = getchar()) != EOF) {
++nc;
if(c == '\n')
++nl;
if(c == ' ' || c == '\t' || c == '\n')
etat = DEHORS;
else if(etat == DEHORS) {
etat = DEDANS;
++nm; }

printf("caractere = %d\t ligne =%d\t mot = %d\n", nc, nl, nm);}
}

Le hic est que je n'arrive pas à saisir le raisonnement pour cette partie du programme:
else if(etat == DEHORS) {
etat = DEDANS;

Quelqu'un pourrait-il essayer de me la faire comprendre ?

MERCI.

Le  6-12-2007 à 10:47 #

Salut,

if(c == ' ' || c == '\t' || c == '\n')
etat = DEHORS;
else if(etat == DEHORS)
{
etat = DEDANS;
++nm;
}


En francais, ca donne :
Si [c] est un espace ou une tabulation ou une fin de ligne Alors
[etat] egal [DEHORS] (nous ne sommes pas dans un mot)
Sinon ([c] n est pas un espace/tabulation/nouvelle ligne)
Si [etat] est egal a [DEHORS] Alors
[etat] egal a [DEDANS] (puisque c n est pas un caractere d espacement nous sommes donc dans un nouveau mot).


Dis moi si ca te parle plus.

Bien cordialement,

[EDIT : syntaxe]

[ Ce message a été modifié par : : MisaAmane le 06-12-2007 10:48 ]

Le  6-12-2007 à 22:11 #

Ce que tu as écrit est exactement la traduction que je me faisais du programme;
j'étais en fait embêté par "si état == dehors, état = dedans".

Mais comme tu l'as remarqué, je parle à l'imparfait: le problème n'existe plus, je viens de comprendre.

Merci quand même de ton honorable intention.

Le  7-12-2007 à 11:39 #

Pas de probleme j adore le C ;)

Cordialement.
» Liste des Forums » Programmation




Ces discussions pourraient vous intéresser également:


programme php
programme
programmation de programme
programme de cryptage
programme 2en1

Sujets Connexes

Arakien & WéWé


Forums

Navigation


Publicité

Connectés

Il y a actuellement 629 visiteurs et 9 toiliens en ligne, ainsi que 8 connectés sur le tchat.

Recherche

Annonces


Sauf mention contraire, le contenu du blog et du forum est sous licence Creative Commons By-Sa. Vous avez le droit de le reproduire à condition de citer l'auteur, de faire un lien vers la page d'origine, et de partager vos travaux dérivés selon les mêmes conditions.

Conditions d'utilisation -

Partenaires: [Informatique Multimédia] [Portail du Maroc] [Actualité High Tech]
[Tutoriaux Photoshop] [éligibilité ADSL] [Astuces Windows]

Page générée en 283 millisecondes sur WWW2.