Nombre de caractere dans un fichier texte

Nombre de caractere dans un fichier texte - C - Programmation

Marsh Posté le 26-07-2006 à 14:13:14    

Bjr, je dois faire un programme en C: malheueusement, j ai quelques lacunes... :>
Pouvez-vous me dire comment faire cette fonction:
 
Nombre_occurence(...,...)
Creer une fct Nombre_occurence(...,...) qui lit un fichier (passé en 1er parametre) et renvoie le nombre d'occurence de chaque caractères du fichier dans le tableau passé en 2ème parametre.

Reply

Marsh Posté le 26-07-2006 à 14:13:14   

Reply

Marsh Posté le 26-07-2006 à 14:15:55    

while (...strchr(...)...)  
{
   ...blahblah...
}

Message cité 1 fois
Message édité par Elmoricq le 26-07-2006 à 14:17:12
Reply

Marsh Posté le 26-07-2006 à 14:19:28    

Elmoricq a écrit :

while (...strchr(...)...)  
{
   ...blahblah...
}


 
 
Ok ok, merci pour ton aide... Mais il me faudrait de plus amples renseignements, comme le programme entier si ce n'est pas trop demandé.

Message cité 1 fois
Message édité par Mickey1664 le 26-07-2006 à 14:19:45
Reply

Marsh Posté le 26-07-2006 à 14:21:50    

H4H4H4H4
toi t'as pas lu les règles

Citation :


[0C] On ne fait pas le boulot à votre place.
 
    * Les demandes du style "vous pouvez faire un programme faisant [...] pour moi ?" sont assez mal vues et n'obtiennent que très rarement de réponses.
    * Les offres d'emploi et recrutements (même non rémunérés) ont plutôt leur place sur Emploi & Études.  
 
 
[0D] De la même manière, les demandes de résolutions d'exercices ne seront pas acceptées
 
    * Du moins, s'il s'agit d'une demande de solution toute faite, sans effort manifeste du côté du demandeur. Cette décision a été prise étant donné le nombre croissant de ce type de demandes lors des périodes de reprise des cours ou d'approche des périodes d'examens.
    * Merci aux membres du forum de ne pas donner des résolutions d'exercice lorsqu'il est clair que le demandeur n'a rien fait de son côté ;)


---------------
Töp of the plöp
Reply

Marsh Posté le 26-07-2006 à 14:30:05    

_darkalt3_ a écrit :

H4H4H4H4
toi t'as pas lu les règles

Citation :


[0C] On ne fait pas le boulot à votre place.
 
    * Les demandes du style "vous pouvez faire un programme faisant [...] pour moi ?" sont assez mal vues et n'obtiennent que très rarement de réponses.
    * Les offres d'emploi et recrutements (même non rémunérés) ont plutôt leur place sur Emploi & Études.  
 
 
[0D] De la même manière, les demandes de résolutions d'exercices ne seront pas acceptées
 
    * Du moins, s'il s'agit d'une demande de solution toute faite, sans effort manifeste du côté du demandeur. Cette décision a été prise étant donné le nombre croissant de ce type de demandes lors des périodes de reprise des cours ou d'approche des périodes d'examens.
    * Merci aux membres du forum de ne pas donner des résolutions d'exercice lorsqu'il est clair que le demandeur n'a rien fait de son côté ;)



 
J ai bien compris ce que vous voulez me dire, mais j'ai déjà bien cherché de mon coté. L'algo n est pas un probleme, mais le code oui, donc je recherche juste quelqu un pouvant m aider un peu plus que le minimum...  

Reply

Marsh Posté le 26-07-2006 à 14:36:01    

Te fous pas de moi, t'as demandé le prog en entier
 

Mickey1664 a écrit :

Ok ok, merci pour ton aide... Mais il me faudrait de plus amples renseignements, comme le programme entier si ce n'est pas trop demandé.


 
Ou met le code que t'as déjà tapé pour voir.


---------------
Töp of the plöp
Reply

Marsh Posté le 26-07-2006 à 14:38:12    

Mickey1664 a écrit :

J ai bien compris ce que vous voulez me dire, mais j'ai déjà bien cherché de mon coté. L'algo n est pas un probleme, mais le code oui, donc je recherche juste quelqu un pouvant m aider un peu plus que le minimum...


 
Ben commence par te renseigner sur les pointeurs et les chaînes de caractères, en lisant ici :
http://mapage.noos.fr/emdel/init_c.htm
et là :
http://mapage.noos.fr/emdel/notes.htm#pointeurs
(et en général toute la page)
 
 
Et utilise une boucle sur strchr(), et voila c'est fait.
 
 
(donne à un homme un poiscaille et il graillera un jour, file-lui un filet et il te tape sur la tronche, machin tout ça)

Message cité 1 fois
Message édité par Elmoricq le 26-07-2006 à 14:38:59
Reply

Marsh Posté le 26-07-2006 à 14:39:56    

Elmoricq a écrit :

(donne à un homme un poiscaille et il graillera un jour, file-lui un filet et il te tape sur la tronche, machin tout ça)


 
[:rofl]


---------------
Töp of the plöp
Reply

Marsh Posté le 26-07-2006 à 14:41:25    

oui, je demande le prog, j ai besoin d un peu d aide pour programmer, sinon j ai deja réfléchi à l algo qui doit ressembler à ça .  
entrer dans le fichier texte,
parcourir le texte,  
incrémenter à a chaque fois qu une lettre est répétée,
renvoyer en printf le résultat.

Reply

Marsh Posté le 26-07-2006 à 14:45:03    

et Elmoricq te refiles tout ce dont tu as besoin pour combler des lacunes.


---------------
Töp of the plöp
Reply

Marsh Posté le 26-07-2006 à 14:45:03   

Reply

Marsh Posté le 26-07-2006 à 14:53:00    

Mickey1664 a écrit :

Bjr, je dois faire un programme en C: malheueusement, j ai quelques lacunes... :>
Pouvez-vous me dire comment faire cette fonction:
 
Nombre_occurence(...,...)
Creer une fct Nombre_occurence(...,...) qui lit un fichier (passé en 1er parametre) et renvoie le nombre d'occurence de chaque caractères du fichier dans le tableau passé en 2ème parametre.
J'ai déjà bien cherché de mon coté. L'algo n est pas un probleme, mais le code oui, donc je recherche juste quelqu un pouvant m aider un peu plus que le minimum...


 
La fonction "fopen()" te permet d'ouvrir un fichier. Tu y passes le nom du fichier en premier paramètre et en 2° tu mets "r" car tu ne désires l'ouvrir que pour le lire. Cette fonction te renvoie un pointeur de type "FILE *" qui te servira ensuite de référence pour les fonctions d'accès au fichier.
 
La fonction "fgetc()" te permet d'extraire un caractère du fichier. Tu y passes en paramètre le pointeur que t'a renvoyé "fopen()". Comme ce pointeur possède en interne différents éléments dont entre autre la position courante, chaque fois que tu appelles "fgetc()" tu récupères le caractère suivant. Quand tu as tout lu, la fonction renvoie "-1"
 
Une fois le fichier traité, tu le fermes avec "fclose()". Cela permet au système de libérer les ressources allouées par "fopen()"
 
Avec ça, t'as déjà tout pour faire ta fonction. Si tu t'en sors bien, tu peux remplacer "fgetc()" qui ne lit qu'un seul caractère à la fois par "fread()" qui peut t'en lire "n" ("n" à ta convenance mais < 32767) qu'elle stockera dans un tableau de caractères (dont l'allocation est à ta charge).
 
Le seul truc que je ne saisis pas trop, c'est que ta fonction reçoit en paramètre un tableau de caractères dont elle doit compter les occurences (style "abc" donc elle doit compter combien de "a", combien de "b" et combien de "c" ) mais il n'y a rien d'indiqué sur ce qu'elle doit faire de tous ces nombres. Elle ne peut pas les renvoyer car une fonction ne peut renvoyer qu'une seule valeur. Donc doit-elle juste "afficher" à l'écran chaque nombre sans rien renvoyer, doit-elle stocker chaque valeur dans un tableau de nombres qu'elle renverra ensuite, ou bien alors elle reçoit en paramètre un 3° tableau vide qu'elle doit remplir elle-même ???

Reply

Marsh Posté le 26-07-2006 à 14:59:00    

Merci Sve@r!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed