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 :

affichage inverser d'un tableau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Par défaut affichage inverser d'un tableau
    bonsoir tous ,

    je voudrais saisire un tableau de caractere en utlisant la fonction malloc , et l'afficher de manniere inverse

    exemple
    en entrer:
    mot 1 : develo
    mot 2 : meilleu

    en sorti:
    mot 1:meilleur
    mot 2 : develo

    je repete je veux just l'affichage, merci

    voila extrai de mon code mais malheuresement ca ne marche pas
    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
     
    #include<conio.h>
    #include<dos.h>
    #include<stdlib.h>
    #include<string.h>
    #include<stdio.h>
     
    void input()
    {
    char *t[2];
    int i;
     
    for(i=0;i<2;i++)
    {
     t[i]=(char*)malloc(sizeof(char)*100);
     
    printf("mot:");
    gets(t[i]);
     
    }
    for(i=2;i<0;i--)
    {
     
      printf("le %d mot %s\n",i,t[i]);
     
    }
     
    getch();
    }
     
    int main()
    {
    input();
     
     return 0;
    }

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Pense à la balise code la prochaine fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for(i=2;i<0;i--)
    {
     
    printf("le %d mot %s\n",i,t[i]);
     
    }
     
    getch();
    }
    As tu vu la condition que tu as poser dans le for ?
    Peut etre que je ne comprends pas bien mais je crois que tu dois mettre

  3. #3
    Membre chevronné Avatar de corentin59
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 462
    Par défaut
    je te conseilles d'utiliser fgets qui est plus sûr :

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Par défaut
    Citation Envoyé par corentin59 Voir le message
    je te conseilles d'utiliser fgets qui est plus sûr
    en jettant un petit coup d'oeil dans les FAQs c:
    http://c.developpez.com/faq/?page=cl...EEN_gets_fgets

  5. #5
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Voici quelques corrections:

    Code C : 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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    /* L'inclusion de conio.h n'est pas portable et absolument inutile ici. Idem
    pour dos.h.
    #include<conio.h>
    #include<dos.h>
    */
    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
     
    #define TAILLE_MOTS 100
    #define N_MOTS 2
     
    /* -tc- elimine le caratere de fin de ligne saisi par fgets() et fait le menage
       sur le flux entrant en cas de saisie tronquee */
    void fclean(char *buffer, FILE *fp)
    {
        char *pc =strchr(buffer, '\n');
     
        if (pc != NULL)
        {
            *pc = 0;
        }
        else
        {
            int c;
     
            while ((c = fgetc(fp)) != '\n' && c != EOF)
            {
            }
        }
    }
     
    /* -tc- il est recommande de declarer une fonction a l'aide d'un prototype
       i.e. une fonctions sans parametres est specifiee a l'aide de void. Par
       ailleurs, ta fonction input() est responsable de la saisie et de l'affichage.
       Ce n'est pas terrible du point de vue de la cohesion */
    int input(void)
    {
        char *t[N_MOTS];
        int i;
        int err = 0;
     
        /* -tc- on prevoit de sortir de la boucle en cas d'erreur */
        for (i = 0; err == 0 && i < N_MOTS; i++)
        {
            /* -tc- il est deconseille de caster la valeur retournee par malloc().
               Par ailleurs, sizeof (char) vaut 1 par definition -> inutile! */
            t[i] = malloc(sizeof *t[i] * TAILLE_MOTS);
            /* -tc- il faut TOUJOURS verifier que l'allocation a reaussi! */
            if (t[i] != NULL)
            {
                printf("mot: ");
                /* -tc- "mot: " ne se terminant pas par un caractere de fin de
                   ligne, il est necessaire de forcer l'affichage avec fflush() */
                fflush(stdout);
                fgets(t[i], TAILLE_MOTS, stdin);
                /* -tc- on fait le menage sur stdin */
                fclean(t[i], stdin);
     
            }
            else
            {
                /* -tc- erreur d'allocation: on fait le menage et on sort de la
                   boucle */
                while (i > 0)
                {
                    i--;
                    free(t[i]), t[i] = NULL;
                }
                err = 1;
            }
        }
     
        /* -tc- on affiche et on fait le menage en une passe */
        for (i = 0; err == 0 && i < N_MOTS; i++)
        {
            printf("le %d%s mot est %s\n", i + 1, (i > 0) ? "eme" : "er", t[N_MOTS-i-1]);
            free(t[i]), t[i] = NULL;
        }
     
        /* -tc- on retourne une valeur permettant de savoir si une erreur a eu lieu */
        return err;
     
        /* -tc- L'appel a getch() est inutile!
        getch();
        */
    }
     
    int main(void)
    {
        int err = 0;
        int ret = EXIT_SUCCESS;
     
        err = input();
        if (err != 0)
        {
            ret = EXIT_FAILURE;
        }
     
        return ret;
    }

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

Discussions similaires

  1. [MySQL] Affichage 1 résultat / 1 tableau
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 24
    Dernier message: 01/05/2006, 19h22
  2. [MySQL] Problème d'affichage sous forme de tableau
    Par mogway95 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/03/2006, 16h31
  3. [Tableaux] Affichage valeur d'un tableau trié
    Par kcizth dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2006, 15h47
  4. [VB.NET] - affichage dynamique dans un tableau
    Par karibouxe dans le forum ASP.NET
    Réponses: 8
    Dernier message: 20/06/2005, 15h07
  5. affichage rapide d'un tableau
    Par exter666 dans le forum MFC
    Réponses: 16
    Dernier message: 15/04/2005, 03h02

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