Calcul le nombre de fois que chaque lettre apparait

Résolu
kev162 Messages postés 5 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 avril 2008 - 8 avril 2008 à 10:53
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 8 avril 2008 à 12:06
voila mon programme mais je narrive pas a calculer le nombre de fois que la lettre apparait

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>


int NbChar(char UnChar, char* UneChaine)
{



  // on cacul les occurrences


 
return 0;


 


 return NbChar;
}
int main()
{
    int  i,j;
 unsigned char PrenomFille[20];
 unsigned char PrenomGarcon[20];
 unsigned char GrandAmour[14]={'\0'};
 unsigned char Chaine[40]={'\0'};
 unsigned char reponse[100]={'\0'};
 int nb_iteration;
    int  Compteur[40]={0};
   


 strcpy(GrandAmour,"le grand amour");


    printf("tapez le nom de la jeune fille : ");
  scanf("%s", &PrenomFille);
    printf("tapez le nom du garcon : ");
  scanf("%s", &PrenomGarcon);


 strcpy(Chaine,PrenomFille);
 strcat(Chaine,PrenomGarcon);


 
 nb_iteration = strlen(Chaine);
 for (i=0;i<nb_iteration;i++)
 {
  Compteur[i] = NbChar(Chaine[i],GrandAmour);
 }
 //for (nb_iteration=strlen(Chaine);nb_iteration>2;nb_iteration--)
 while (nb_iteration>2)
 {


  for (i=0;i<nb_iteration-1;i++)
  {
   Compteur[i]=Compteur[i]+Compteur[i+1];
   if (Compteur[i]>9)
    Compteur[i] -= 9;


  }




  nb_iteration--;
 // nb_iteration = nb_iteration - 1;
 // nb_iteration -= 1;
 }




 sprintf(reponse,"%d%d",Compteur[0],Compteur[1]);
    printf("la réponse est %s\n",reponse);


 


    getch();
    return 0;
}

4 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
8 avril 2008 à 11:00
int NbChar(char UnChar, char* UneChaine)
{
  // on cacul les occurrences
return 0;
 return NbChar;
}

ben faudrait peut-être le remplir...
3
kev162 Messages postés 5 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 avril 2008
8 avril 2008 à 11:06
je le sais mais je n'y arrive pas c pour cela que je suis ici
3
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
8 avril 2008 à 11:08
Salut
Voila une ossature possible, maintenant a toi de l'adapter a tes besoins 

      char *P=UneChaine;         //Pointeur sur la chaine a parcourir
      while(*P!='\0')                  //jusqu'au 0 terminal
      {
            
         
         P++;                             //On passe au caractere suivant
      }
 

 

A+
Mon site internet : http://pistol.petesampras.free.fr
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
8 avril 2008 à 12:06
Voici un exemple complet qui compte et affiche le nombre de lettre d'une phrase, j'ai pas testé mais ca devrait marcher.

#include

<stdio.h>int main(
int argc,
char **argv)
{

   int i;

   int aiOccurency[26];

   char szSentence[] =
"Salut tu vas bien ?\0";

   // Mise à zéro du tableau des index
   for(i=0;i<26;i++){
      aiOccurency[i] = 0;
   }

   i = 0;

   while(szSentence[i]){
      
if(szSentence[i] > 64 && szSentence[i] < 91)
         aiOccurency[szSentence[i] - 65]++;
      
else
if(szSentence[i] > 96 && szSentence[i] < 123)
         aiOccurency[szSentence[i] - 97]++;

      i++;
   }

   for(i=0;i<26;i++){
      printf(
"%c : %i\n", i + 65, aiOccurency[i]);
   }

   
   return 0;
}

Shell
0
Rejoignez-nous