IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

chaine de caractère


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Par défaut chaine de caractère
    Bonjour,

    est ce qu'il y'a qlq peut m'aider à ce programme en langage C

    comment ecrire un programme en C qui saisie une chaine de carctère

    alphabétique(a...z,A....Z) qui termine par un point(.)

    et calculer le nombre d'occurence de chaque caractère alphabétique

    je vous remercie beaucoup.

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Et qu'est-ce qui t'empêche d'écrire le programme ? Autrement dit, qu'est-ce que tu sais déjà faire et qu'est-ce que tu ne sais pas encore. Au fait, qu'est censé faire le programme si l'utilisateur entre par exemple une chaîne contenant des caractères non alphabétiques ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Par défaut
    bon soir

    Merci mon frère
    je declaire un tableau d'une taille par example [50]
    je fais une boucle while

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    char chaine[50];
     
    int nbr;
     
    printf("Entrez une chaine de caractère
    qui termine par un point SVP.");
     
    scanf("%d" chaine);
     
    while chaine[i]<>'.'do
     
    if chaine[i]=chaine[i+1]
    nbr<-nbr+1,
    printf("%s", nbr);
    il faut que l'utilisateur entre un chaine de caractére alphabétique de (a...zou A...Z)
    par example j'affiche un message au debut ("entrez une chaine de caractère alphabétique")

    aprés comparer les lettres deux à deux et j'affiche le nombre d'occurrence de chaque lettre.

    j'ai pas un bp dans l'algorithme mais je ne connais pas bq la prgramation en C


    si vous pouvez m'aider

    je vous remarcier infiniment

    salem

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Avril 2010
    Messages : 66
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    int             main()
    {
      char chaine[50];
      int nbr;
      int   i;
     
      printf("Entrez une chaine de caractere qui se termine par un point SVP.");
      scanf("%s", chaine);
      i = 0;
      nbr = 0;
      while (chaine[i] && chaine[i] != '.')
        {
          if (chaine[i] == chaine[i + 1])
            nbr++;
          i++;
        }
      printf("%d", nbr);
      return (0);
    }
    Au niveau du while et du nbr<-nbr+1, j'avais jamais vu ca avant donc je l'ai un peu modifie.

    Il fallait ecrire scanf("%s", chaine) et non "%d" : %s pour les chaines (%string) et %d pour les nombres ("%double - pas sur).

    Donc je protege (sans doute inutilement mais on est jamais trop prudent ) avec chaine && chaine[i], puis ta condition "normale" d'arret, soit chaine[i] != '.'

    Ensuite lorsque le l'on compare, on utilise les operateurs de comparaisons qui sont : ==, !=, >, >=, < et <=. Comme tu l'auras remarque, ce n'est donc pas chaine[i] = chaine[i + 1] qu'il faut mettre mais chaine[i] == chaine[i + 1].

    Derniere chose, pour l'affiche du printf, c'est comme pour le premier, tu affiche un int, c'est un nombre, donc tu dois ecrire un %d et non un %s.

    Bonne soiree.

    Edit : J'ai voulu test, histoire de voir ce que faisait nbr<-nbr+1 avec gdb et ca ne s'arrete meme pas au if () Oo, pourtant, ca compile.
    Finalememt, avec des flags de compil. en plus, ca m'affiche carrement : "warning: statement with no effect"...

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    ("%double - pas sur)
    C'est %decimal en fait (et %integer fait plus ou moins la même chose). Pour les nombres à virgule flottante, c'est %float et %longfloat.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. Crypter une chaine de caractères
    Par Yabo dans le forum Réseau
    Réponses: 18
    Dernier message: 19/11/2004, 23h04
  3. Réponses: 9
    Dernier message: 17/01/2003, 11h45
  4. Lire Une Chaine De Caractères
    Par Jonathan_Korvitch dans le forum C
    Réponses: 12
    Dernier message: 07/01/2003, 05h37
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo