begin process at 2008 07 06 17:40:07
1 205 686 membres
251 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : calcul le nombre de fois que chaque lettre apparait dans une autre chaine [ Divers / Débutant(e) ] (kev162)

calcul le nombre de fois que chaque lettre apparait dans une autre chaine le 09/04/2008 10:22:06

kev162

please help me


je n'arrive pa a afficher mon resultat sur 2 chiffres celui ci est 00  car je pense que je n'arrive pas a compter le nombre d'occurence des deux noms que je dois entrer par rappoprt a la chaine "Grand amour"


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


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};
   


int NbChar(char UnChar, char* UneChaine);
{


         nb_iteration = strlen(Chaine);
 for (i=0;i<nb_iteration;i++)
 {
  Compteur[i] = NbChar(Chaine[i],GrandAmour);
 }    
         
        return NbChar;
}

 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;
}


Re : calcul le nombre de fois que chaque lettre apparait dans une autre chaine le 09/04/2008 10:44:20

Pistol_Pete
Salut
Cette fois ci voila la fonction NbChar

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


A+
Mon site internet : [ Lien ]


Re : calcul le nombre de fois que chaque lettre apparait dans une autre chaine le 09/04/2008 10:52:24

DeAtHCrAsH
Pistol_Pete> Pas très performant tout ca... Tu vas parcourir autant de fois ta chaine que de le nombre de lettre qui compose ta chaine de départ... Sans compter les doublons (A=a)....

Sur le poste précedent je proposais une version ou tu ne parcourre qu'une seule fois la chaine en comptabilisant le nombre d'occurence de chacune des lettres (suffit de se baser sur le code ascii).


Shell

Re : calcul le nombre de fois que chaque lettre apparait dans une autre chaine le 09/04/2008 10:56:02

kev162
sa ne me dit pas grand chose sans un petit exemple deathcrash
aurait tu un exemple?
merci d'avance

Re : calcul le nombre de fois que chaque lettre apparait dans une autre chaine le 09/04/2008 11:32:33

DeAtHCrAsH
Si si j'avais mis un bout de code dans ton précedent post.
Pour ce cas la tu as juste a y ajouter une boucle for qui parcours ta premiere chaine (prénom).

Shell

Re : calcul le nombre de fois que chaque lettre apparait dans une autre chaine le 09/04/2008 13:30:29

kev162
un grand merci a toi, je ne l'avais pas vu en core merci ciao


Classé sous : chaine, compteur, char, nb, iteration

Participer à cet échange

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS