Problem en c

Résolu
Bonjour,
je veu ecrire un progrmme en language c qui permet de compter le nombre de caractere saisie dans une chaine de caractere
merci de votre aide.
Configuration: Windows Vista Internet Explorer 7.0

6 réponses

  1. Bonjour,

    pour cela, tu dois faire une boucle for() qui regarde a chaque fois si le caractere a l'adresse i de ton tableau de char est égal à \0.

    Va voir ici
    1. int i = 0;
      int lg = 0;
      char buf[100] = "coucou";
      char c = 'a';

      while(c != '\0') {

      c = buf[i];
      lg++;
      i++;

      }

      printf("Longueur de la chaine \"%s\" : %ld.", buf, lg);

      voila, je n'ai pas testé ce code, mais je crois qu'il marche, et finalement j'ai préféré une boucle while.
      1. Rien de plus classique:
        Soit une chaîne de caractère nommée 'chaine':
        char* p = chaine;
        while(*p)
          p++;
        return (p-chaine);
        Bonne continuation
        1. il y a ça aussi, c'est vrai que c'est plus direct comme méthode... =)
      2. je vous propose ce code mais j ai de souci
        #include<stdio.h>
        #include<conio.h>
        main ()
        {
             char t[50];
             int n,i,comp=0;
             char x;
             
              printf("donner une valeur X:");
             scanf("%s",&x);
             printf("saisir les elements du tableau : \n");
             for (i=0;i<n;i++)
             scanf("%s",&t[i]);
            
             
             for(i=0;i<n;i++)
             {
             if(t[i]==x)
             comp+=1; 
             }
             printf("le nombre de repetition de x est : %d",comp); 
             getch();
             return 0;
        }
        1. merci ozox ton code ca marche avec des petite modification;
          #include<stdio.h>
          #include<conio.h>
          main ()
          {
              int i = 0; 
          int lg = 0; 
          char buf[100]; 
          char c = 'a'; 
          printf("entrer la phrase : ");
          gets(buf);
          
          while(c != '\0') { 
          
          c = buf[i]; 
          lg++; 
          i++; 
          
          } 
          
          printf("Longueur de la chaine et \"%s\" : %ld.", buf, lg-1); 
          
           
               getch();
               return 0;
          }