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 :

variables


Sujet :

C

  1. #1
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut variables
    Bonsoir , j'ai un petit soucis , j'ai une variable int a , qui prend des caractères en entrée , et j'aimerais savoir si il est possible qu'une autre variable lise la valeur de la variable a ( pour déterminer si la donné contenue dans a et un a , b , ou c , ou d , bref toutes les lettres ) , merci .

  2. #2
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Oui tu peux en travaillant sur les codes ascii (vu que ta variable est un int).
    Par exemple le code ascii de 'z' est : 122, donc tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int a;
    /* ...*/
    if ( a == 122 )
    {
       printf("C'est un 'z' !\n");
    }
    Par contre si tu veux tester tout l'alphabet je te conseille de faire un switch case plutot que des if

    Edit : la table des codes ascii ICI
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut Re: variables
    Bonjour,
    Citation Envoyé par Bibouda
    Bonsoir , j'ai un petit soucis , j'ai une variable int a , qui prend des caractères en entrée , et j'aimerais savoir si il est possible qu'une autre variable lise la valeur de la variable a ( pour déterminer si la donné contenue dans a et un a , b , ou c , ou d , bref toutes les lettres ) , merci .
    Une variable ne sert pas à lire mais à stocker une valeur. Si votre but est de déterminer la valeur contenue dans une variable, une faut utiliser les structures conditionnelles tel que le if ou le switch

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par sorry60
    Oui tu peux en travaillant sur les codes ascii (vu que ta variable est un int).
    Gné ? Et pourquoi pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
       int a;
       /* ...*/
       if ( a == 'z' )
       {
          printf("C'est un 'z' !\n");
       }
    En fait, on utilise plutôt les ensembles prédéfinis (<ctypes.h>) ou strchr() pour déterminer si le caractère est dans un ensemble particulier.
    Pas de Wi-Fi à la maison : CPL

  5. #5
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut
    en fait mon problème c'est que je dois faire un second histogramme , qui affiche la fréquence des caractères rencontrés dans une chaine .
    Donc moi mon idée c'est de parcourir la chaine , à chaque caractère on lit la valeur , et on incrémente la case du tableau correspondante . Il y a 26 lettres , j'utilise donc un tableau de taille 26 int alpha[26] , une varaible a = getchar() , mais comme je vous l'ai dit il me faut une variable qui lit la valeur de a et qui par exemple si a contient la lettre c , j'incrémente la case 2 du tableau . Alors comme vous l'avez dit je vais pas faire 26 if , je blème c'est que j'ai pas le droit à autre chose que if , else , for , while vu que dans le livre j'ai pas encore étudié çà ...

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Bibouda
    en fait mon problème c'est que je dois faire un second histogramme , qui affiche la fréquence des caractères rencontrés dans une chaine .
    Ok, classique.
    Donc moi mon idée c'est de parcourir la chaine , à chaque caractère on lit la valeur , et on incrémente la case du tableau correspondante .
    Le problème est qu'on ne connait pas la valeur numérique. Soit on fait un switch-case de 26 lettres (et les minuscules/majuscules, accentuées, ponctuation ?), soit on attribue une valeur unique de 0 à n à chaque lettre en cherchant sa position dans une chaine représentant l'ensemble des caractères à analyser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
       char liste[] = "abcdefghijklmnopqrstuvwxyz";
       char *p = strchr(liste, car);
       if (p != NULL)
       {
          size_t i = (size_t) (liste - p);
     
          /* comptage... */
       }
    Cet indice permet d'adresser un tableau de compteur sans ambiguité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       unsigned long a_compteur[26] = {0};
    <...>
       a_compteur[i]++;
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut
    ok donc en gros c'est impossible , car j'ai le droit qu'à 3 fonctions , getchar , putchar , printf , les boucles , les tableaux , et c'est tout , pas de pointeurs , ni de switch , donc ce que je veux savoir c'est si mon code est réalisable avec les contraintes que j'ai?

  8. #8
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut
    en fait emmanuel pour en revenir à ta valeur numérique , moi je pensais utiliser la valeur ascii des lettres , pour une lettre l'algo est facile :

    si le caractère vaut 65 ( donc a ) , alors j'incrémente la case 0 , en C çà nous donne :

    if ( c == 65 )
    alpha[0]++;

    mais pour 26 lettres , un algo donnerait :

    si le caractère vaut de a à z , alors on incrémente la case du tableau correspondante ( et encore tu vois en français c'est pas clair , alors en C encore moins ) .

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Bibouda
    en fait emmanuel pour en revenir à ta valeur numérique , moi je pensais utiliser la valeur ascii des lettres
    Et si c'est pas de l'ASCII ? Le C ne garantit pas que les valeurs soit consécutives (En EBCDIC, elle ne le sont pas).

    Et si on doit traiter les accentuées ?

    Moi, je te donne une solution industrielle. Tu peux faire du bidouillage, mais ça ne m'interesse pas.
    Pas de Wi-Fi à la maison : CPL

  10. #10
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Bibouda
    ok donc en gros c'est impossible , car j'ai le droit qu'à 3 fonctions , getchar , putchar , printf , les boucles , les tableaux , et c'est tout , pas de pointeurs , ni de switch , donc ce que je veux savoir c'est si mon code est réalisable avec les contraintes que j'ai?
    Tu recodes strchr(). Ca prends 4 lignes... Tu peux même faire une fonction qui retourne l'indice directement...
    Pas de Wi-Fi à la maison : CPL

  11. #11
    Membre habitué Avatar de ccensam
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 162
    Points
    162
    Par défaut Utiliser un tableau
    Pour moi je préfére travailler avec des tableaux, càd :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int a,i;
    char lescarac[]="abcdefghijklmnopqrstuvwxyz"
    for(i=97;i<=122;i++)            // seulement pour les caractères miniscules pour les majiscules i=[65,90]
    {
         if(a==i)    printf("a est = %c", lescarac[i-97]);
    }
    Très simple. Pour calculer l'occurence utilisez les méthodes précédentes.
    REMARQUE :
    Ce code est juste l'idée, il peut y avoir des erreurs de synthaxe, ou de code.Cela est dû au manque de temps. Désolé

    Merci
    - Microsoft Dynamics AX Technical Expert
    - OpenERP Module Developper
    - Mécanicien informaticien passioné
    - CV : http://www.viadeo.com/fr/profile/mohamed-amine.

  12. #12
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: Utiliser un tableau
    Citation Envoyé par ccensam
    Pour moi je préfére travailler avec des tableaux, càd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int a,i;
    char lescarac[]="abcdefghijklmnopqrstuvwxyz"
    // seulement pour les caractères miniscules pour les majiscules i=[65,90]
    for(i=97;i<=122;i++)
    {
         if(a==i)    printf("a est = %c", lescarac[i-97]);
    }
    Je fatigue...

    Encore une fois, faire des hypothèses sur le fait que les caractères soient codés en ASCII n'apporte qu'une solution ponctuielle, mais pas universelle.

    C'est quand même pas compliqué de chercher une lettre dans une chaine et d'en déduire sa position... On devient indépendant des valeurs à peu de frais...
    Pas de Wi-Fi à la maison : CPL

  13. #13
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut Re: Utiliser un tableau
    Citation Envoyé par ccensam
    REMARQUE :
    Ce code est juste l'idée, il peut y avoir des erreurs de synthaxe, ou de code.Cela est dû au manque de temps. Désolé
    On est sur un forum, pas sur un chat donc vous avez tout le temps qu'il faut poster du code correcte, surtout que vous utilisez les codes ASCII des caractères alors que Emmanuel Delahaye à déjà écrit un peu plus haut que c'était du bidouillage.

  14. #14
    Membre habitué Avatar de ccensam
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 162
    Points
    162
    Par défaut simple idées
    Ce sont des simples idées qu'on peut utiliser.
    J'ai vu parlé de l'utilisation des codes ACII et j'ai pensée d'illustrer cette possibilité plus clairement.
    Je suis vraiment désolé!!
    - Microsoft Dynamics AX Technical Expert
    - OpenERP Module Developper
    - Mécanicien informaticien passioné
    - CV : http://www.viadeo.com/fr/profile/mohamed-amine.

  15. #15
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut
    "alors que Emmanuel Delahaye à déjà écrit un peu plus haut que c'était du bidouillage"

    oui c'est du bidouillage , mais c'est justement grâce à ce bidouillage qu'on apprend à bien programmer , je pense que quand on me demande de coder un ptit programme avec des contraintes qui font que je dois chercher un algo et l'implémenter plutot qu'avec des fonctions toutes faites , c'est pour une bonne raison .

    Dans mon cas je dois me débrouiller avec getchar , printf , while et for , et un tableau , c'est tout , et je pense que c'est çà qui fait tout l'intérêt de l'exo , çà le complique ...

    enfin quoi qu'il en soit j'en reste à ma 1ere étape , à savoir écrire un C :

    si la variable contient une lettre de l'alphabet , j'incrémente la case du tableau qui correspond à cette lettre , et tout çà sous contraintes citées .

    Je vais yarriver même si çà prendra du temps .

  16. #16
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut
    emmanuel , j'ai réussi à écrire le code avec mes contraintes ( j'ai eu de l'aide j'avoue ) , le voici :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    #include <stdio.h>
     
    int main(void) 
     
    {
     
    int a, i, j;
    int tab[26];
     
        for ( i = 0; i <26; i++) 
        tab[i] = 0;
     
        while ( ( a = getchar() ) != EOF ) 
          {
            if (( a >= 97) && (a =< 122) )
             tab[a-'a']++;
          }
     
        for ( j = 0; j < 26; j++ ) 
        {
            printf("%c :", j+97);
            for ( i = 0; i < tab[j]; i++ ) 
            {
                printf("_");
            }
        printf("\n");
        }
        return 0;
    }
    Alors emmanuel comme tu le disais c'est de la bidouille , mais grâce à cette bidouille j'ai enfin relativement bien assimilé la notion de boucle et de tableau unidimenssionnel kernighan et ritchie n'ont pas imposé ces contraintes pour rien :) .
    Sinon emmanuel , peux tu me donner juste un indice pour que mon histogramme soit vertical au lieu de horizontal , le code plus haut me donne ceci :

    a: ___
    b: ______
    c: ___
    d: _________
    ....

    moi j'aimerais le faire comme çà , c'est faisable ou pas ( c'est plus ardu il parait ) :

    a :| b:| c:| ......

    merci .

  17. #17
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut
    mince , mes barres ont été remplacées par des smileys

  18. #18
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Points : 2 844
    Points
    2 844
    Par défaut
    Citation Envoyé par Bibouda
    mince , mes barres ont été remplacées par des smileys
    En bas du cadre tu coches sur "Désactiver les smileys"

  19. #19
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Bibouda
    emmanuel , j'ai réussi à écrire le code avec mes contraintes ( j'ai eu de l'aide j'avoue ) , le voici :

    Alors emmanuel comme tu le disais c'est de la bidouille , mais grâce à cette bidouille j'ai enfin relativement bien assimilé la notion de boucle et de tableau unidimenssionnel kernighan et ritchie n'ont pas imposé ces contraintes pour rien :) .
    Ce code n'est certes pas portable (car lié à un codage particulier qui est l'ASCII), mais il peut être ecrit d'une façon plus correcte en utilisant les constantes caractères à la place de ces nombres qui n'ont aucun sens pour le lecteur. ce code fonctionnera donc avec tout codage dont les valeurs sont consécutives. (Ce qui est le cas de l'ASCII, mais pas de l'EBCDIC en vigueur sur les gros système IBM.

    D'autre part, ce code ne compile pas. C'est pas =<, mais <=.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    #include <stdio.h>
     
    int main (void)
    {
    /* tous les compteurs a zero. */
       int tab[26] =
       {0};
     
     
    /* lire le texte, mettre a jour les compteurs. */
       {
          int c;
     
          while ((c = getchar ()) != EOF)
          {
             if (c >= 'a' && c <= 'z')
             {
                tab[c - 'a']++;
             }
          }
       }
     
    /* affichage */
       {
          int j;
     
          for (j = 0; j < 26; j++)
          {
             if (tab[j] != 0)
             {
                int i;
     
                printf ("%c :", j + 'a');
     
                for (i = 0; i < tab[j]; i++)
                {
                   printf ("_");
                }
                printf ("\n");
             }
          }
       }
       return 0;
    }

    Sinon emmanuel , peux tu me donner juste un indice pour que mon histogramme soit vertical au lieu de horizontal , le code plus haut me donne ceci :

    a: ___
    b: ______
    c: ___
    d: _________
    ....

    moi j'aimerais le faire comme çà , c'est faisable ou pas ( c'est plus ardu il parait ) :

    a :| b:| c:| ......
    Tu veux sans doute dire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    a b c d e
    | | | | | |
    | | |   | |
    |   |   | 
    |   |
    Commence par définir exactement ce que tu veux faire, ensuite, reflechi à la façon de lire le tableau et d'afficher les données pour arriver à ce résultat.

    C'est une question d'algorithme, et si tu veux progresser, c'est à toi de le trouver et de le coder. Le résultat parlera de lui-même.

    Mais à mon avis, les problèmes de présentations sont minieurs. Plus interessant est de modifier le programme pour qu'il soit portable (indépendant du charset) et souple (on peut choisir de tester n'importe quel ensemble de caractères)
    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
    21
    22
    23
     
    Maitre Corbeau, sur un arbre perché,
    ^Z
     C :_
     M :_
     a :___
     b :__
     c :_
     e :____
     h :_
     i :_
     n :_
     o :_
     p :_
     r :______
     s :_
     t :_
     u :___
    \n :_
     , :__
       :_____
    caracteres non traites
       : _
    Voici un exemple de codage. On pourrait bien sûr factoriser une partie du code (faire des fonctions).
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    #include <stdio.h>
     
    int main (void)
    {
    /* ensemble des caracteres a gerer */
       static char const charset[] =
       "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
       "abcdefghijklmnopqrstuvwxyz"
       "àéèù\n'.,;?! ";
     
    /* tous les compteurs a zero. */
       int tab[sizeof charset + 1] =
       {0};
     
     
    /* lire le texte, mettre a jour les compteurs. */
       {
          int c;
     
          while ((c = getchar ()) != EOF)
          {
     
             /* chercher l'indice du caractere dans le charset */
             size_t i;
             for (i = 0; i < sizeof charset; i++)
             {
                if (c == charset[i])
                {
                   break;
                }
             }
     
    /* Astuce :
       si on a pas trouve le caractere,
       le dernier compteur (celui des inconnus)
       sera incremente.
     */
             tab[i]++;
          }
       }
     
    /* affichage de l'histogramme */
       {
          size_t j;
     
          for (j = 0; j < sizeof charset; j++)
          {
             if (tab[j] != 0)
             {
                if (charset[j] == '\n')
                {
                   printf ("\\n :");
                }
                else
                {
                   printf (" %c :", charset[j]);
                }
     
    /* affichage de la barre */
                {
                   int i;
                   for (i = 0; i < tab[j]; i++)
                   {
                      printf ("_");
                   }
                }
                printf ("\n");
             }
          }
     
          printf ("caracteres non traites\n    : ");
    /* affichage de la barre */
          {
             int i;
             for (i = 0; i < tab[j]; i++)
             {
                printf ("_");
             }
          }
          printf ("\n");
       }
       return 0;
    }
    Pas de Wi-Fi à la maison : CPL

  20. #20
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut
    Je crois que j'ai trouvé l'algorithme en français qui me permettra d'afficher mon histogramme de manière verticale :

    quand la variable i est incrémentée , on affiche | et on passe à la ligne , et quand i = tab[j] , on passe à la lettre suivante .

    La aprtie du code à modifier est donc celle là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for ( i = 0; i < tab[j]; i++ )
            {
                printf("_");
            }
        printf("\n");
    qu'en penses tu ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/07/2002, 13h32
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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