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 :

Alphabet rang d'une lettre


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2024
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2024
    Messages : 10
    Par défaut Alphabet rang d'une lettre
    Bonjour ,

    Une âme charitable pourrait m'écrire ce pseudocode en language c s'il vous plaît , je ne le comprends pas bien Nom : Capture.PNG
Affichages : 196
Taille : 45,2 Ko

  2. #2
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 753
    Par défaut
    Hello,

    Il y a une erreur dans le pseudo code (ou alors je n'ai pas compris la question): les lettres majuscules (en ascii) vont de 65 ('A') à 90 ('Z'). Donc le test (rng>=0 et rng<=25) ne sera jamais vrai....

  3. #3
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2024
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2024
    Messages : 10
    Par défaut
    C'est le texte en entier , il est peu probable que ça soit faux Nom : Capture.PNG
Affichages : 162
Taille : 78,3 Ko

  4. #4
    Membre chevronné
    Homme Profil pro
    web a11y
    Inscrit en
    Avril 2014
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : web a11y
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 187
    Par défaut
    @edgarjacobs : oui selon ce que l'on a pris l'habitude de penser. Mais non, si on reprend doucement.
    Si l'on fait ascii(lettre) et que l'on a 65 c'est certes unA.
    Mais si "A" doit être compté à l'indice zéro c'est que l'on a dû faire un ascii(lettre) - ascii("A") -> 65-65==0.

    Bon, perso, dans ma conception, le rang de A serait plutôt 1. Là, c'est juste penser en terme d'indice dans un tableau.

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Citation Envoyé par Stellar7 Voir le message
    @edgarjacobs : oui selon ce que l'on a pris l'habitude de penser. Mais non, si on reprend doucement.
    Si l'on fait ascii(lettre) et que l'on a 65 c'est certes unA.
    Mais si "A" doit être compté à l'indice zéro c'est que l'on a dû faire un ascii(lettre) - ascii("A") -> 65-65==0.

    Bon, perso, dans ma conception, le rang de A serait plutôt 1. Là, c'est juste penser en terme d'indice dans un tableau.
    Ce qui est important dans l'énoncé est la définition précise de ce qu'est un rang dans le pseudo-code. En français on dit que dans l'alphabet A est le premier donc rang de A serait 1 (ça manquait dans le 1er texte.)

    Cependant, le pseudo-code veut "penser en C", et en C tout ce qui est indice commence à 0.
    Ici, la ligne la plus piégeuse du pseudo-code à traduire en C est: "rng <-- rang de txt[i]", qui doit s'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int  rng = txt[i] - 'A';  // la lettre A a le rang 'A'-'A' donc 0, la lettre B a le rang 'B'-'A' donc 1...
    On pouvait deviner ça par le test indiqué juste après: "si rng<=0 ou rng>=25", le rang (du pseudo-code) est bien un nombre de 0 à 25 pour 'A' à 'Z'.

  6. #6
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 753
    Par défaut
    J'avais ien compris le pseudo code, j'étais bien conscient que le rang de 'A' est zéro et qu'il faut faire rng=txt[i]-'A'. Je critiquais juste la manière de présenter l'exercice.

  7. #7
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2024
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2024
    Messages : 10
    Par défaut
    j'ai essayer de suivre le pseudocode mais je suis vraiment perdu ........ Est-ce que quelqu'un peut me faire le programme pour que je voie mes fautes s'il vous plaît

    Nom : Capture.PNG
Affichages : 141
Taille : 78,2 Ko

    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
    #include<stdio.h>
    int main()
    {
        printf("Saisissez un texte") ;
    int num[26] ;
        int i ;
     
        for (i=0;i<25;i++) 
        num[i]=0 ;
     char txt[80] ;
     
    for (i=0;i<(txt)-1;i++) 
    int  rng = txt[i]-A
     
    if (rng=>0 and 25=>rng) {
        printf("%i" , rng);
    }
    for (i=0;i<25;i++)
    printf("%i" , num[i]) ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul d'un rang dans une requête
    Par rossy dans le forum Access
    Réponses: 7
    Dernier message: 26/07/2018, 19h17
  2. Remplacer une lettre par une image (on peut ?)
    Par tunidesign dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 23/10/2005, 12h13
  3. Savoir si une lettre reseau est disponible en C++
    Par barthelv dans le forum Windows
    Réponses: 1
    Dernier message: 02/09/2005, 15h05
  4. Réponses: 3
    Dernier message: 13/12/2004, 14h14
  5. [mx2004]Convertir un code ASCII en une lettre
    Par caramel dans le forum Flash
    Réponses: 3
    Dernier message: 28/01/2004, 16h26

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