Petit Eercices en langage C

Fermé
hamza - 3 janv. 2008 à 19:37
 grad - 3 janv. 2008 à 20:25
Bonjour,
Qui peut m'aidé a créer un petit programme en langage C qui affiche le nombre d'apparition d'un lettre ( caractere ) dans un texte.
comme par exemple :
commentcamarche :
m=3 c=3 e=2 n=1 ....

3 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
3 janv. 2008 à 20:03
Salut,

voici un exemple banal, à toi d'adapter
#include<stdio.h>

int main()
{
        int espace,i,c;
        int freq[256];

        espace = 0;

        for(i=0;i<256;++i)
                freq[i] = 0;

        while((c = getchar()) != EOF){
                if(c == ' ' || c == '\t' || c == '\n')
                        ++espace;
                else
                        ++freq[c];
        }

        for(i=0;i<256;++i)
                if(freq[i] != 0)
                        printf("%c - %d fois.\n",i,freq[i]);
        printf("espace + tab + saut ligne = %d\n",espace);

        return 0;
}

0
Merci lami20j pour ta reponse ;)
0
Je ne sais pas en langage C mias je vais te donner un algorithme général et toi tu vas te charger de le traduire en C

Algorithme Affichagedenomdapparition;
Variables mot:chaîne de caractères;
A: tableau de Carcactères de type ASCII de 1 à N;
B: tableau d'entiers de 1 à N ;
i , long: entier:
Constantes: N = ... ( N est le nombre des lettres du mot,il vaut mieux choisir un grand N le plus possible)

Début
lire(mot);
long <= longueur(MOT) ;
/*On va maintenant diviser la chaîne de caractères en lettres*/
Pour i de 1 à long faire:
A[i] <= Accès à la Ième chaîne dans MOT;
Selon que A[i] vaut :
'A' : B[i] <=1;
'B' : B[i] <=2;
'C' : B[i] <=3;
....................
...................
...................
'Z' : B[i] <= 26;
Fselon;
écrire(B);
fin.
0