Calcul le nombre de fois que chaque lettre apparait [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 avril 2008
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
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

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

ben faudrait peut-être le remplir...
Messages postés
5
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 avril 2008

je le sais mais je n'y arrive pas c pour cela que je suis ici
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
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
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
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