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 :

[Débutant]Remplir un tableau avec des pointeurs


Sujet :

C

  1. #1
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut [Débutant]Remplir un tableau avec des pointeurs
    Bonjour, j'apprend le C, je suis entrain de faire un exercice, l'exercice me demande de remplir un tableau par pointeurs.

    Voici mon code qui ne fonctionne pas bien sur :

    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
     
    #include <stdio.h>
    #include <conio.h>
    #define H_TAB 5
     
    void main(void)
    {
     
    int Tab[H_TAB];
    int *pp;
    pp = Tab;
     
    for ( pp = Tab ; pp < Tab+H_TAB ; pp++ )
      {            
     
        printf("Entrez une valeur: ");
          scanf("%d",&Tab[]);   /* je ne vois pas se que je dois mettre ici */
     
      }
     
      for ( pdeb = Tab ; pdeb < Tab+10 ; pdeb++ )
       {
     
         printf("%d\n",Tab[pdeb]);
     
       }
     
    }

  2. #2
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut Suite
    Je pense que j'ai trouvé, pouvez-vous me dire si mon code est bon, merci

    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
     
    #include <stdio.h>
    #include <conio.h>
    #define H_TAB 3
     
     
    void main(void)
    {
     
    int Tab[H_TAB];
    int *pp;
     
    for ( pp = Tab ; pp < Tab+H_TAB ; pp++ )
    {            
     
      printf("Entrez une valeur: ");
       scanf("%d",pp); 
     
    }
     
      for ( pp = Tab ; pp < Tab+H_TAB ; pp++ )
      {
     
        printf("%d\n",*pp);
     
      }
     
    }

  3. #3
    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 IDE
    Je pense que j'ai trouvé, pouvez-vous me dire si mon code est bon, merci
    Mes commentaires (-ed-)
    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 <stdio.h>
     
    /* -ed- non standard et inutile ici. */
    #include <conio.h>
     
    #define H_TAB 3
     
    /* -ed- 
    void main(void)
    main() retourne int. Toujours. */          
    int main(void)
    {
     
    /* -ed- absence d'indentation... */
    int Tab[H_TAB];
    int *pp;
     
    for ( pp = Tab ; pp < Tab+H_TAB ; pp++ )
    {            
     
      printf("Entrez une valeur: ");
       scanf("%d",pp); 
     
    }
     
      for ( pp = Tab ; pp < Tab+H_TAB ; pp++ )
      {
     
        printf("%d\n",*pp);
     
      }
     
    /* -ed- parce que main() retourne int... */
       return 0;
    }
    A part ces détails, ce code est correct, mais je ne suis pas sur qu'il réponde à l'énoncé.

    Tu peux le publier ?
    Pas de Wi-Fi à la maison : CPL

  4. #4
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut Suite
    Voici l'ennoncé :

    Ecrire de deux façons différentes, un programme qui lit 10 nombres entiers dans un tableau avant d'en rechercher le plus grand et le plus petit :

    En utilisant uniquement le "formalisme tableau".
    En utilisant uniquement le "formalisme pointeur", chaque fois que cela est possible.

    Donc j'ai fais la deuxième étape avec les pointeurs, maintenant je dois rechercher le plus grand, je ne vois vraiment pas comment parcourir un tableau de pointeur pour rechercher le plus grand.

    Merci pour votre aide.

  5. #5
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut
    Voici le code pour retrouver le plus grand élément du tableau, mais il me donne tjr la valeur du dernier élément

    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
     
    #include <stdio.h>
    #include <conio.h>
    #define H_TAB 3
     
     
    void main(void)
    {
     
    int Tab[H_TAB];
    int *pp;
    int *max;
     
    max = &Tab[0];
     
    for ( pp = Tab ; pp < Tab+H_TAB ; pp++ )
    {            
     
      printf("Entrez une valeur: ");
       scanf("%d",pp); 
     
     
         if ( pp > max )
         {
           max = pp;
         } 
     
    }
     
      printf("%d\n",*max);
     
    }

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 943
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 943
    Points : 5 655
    Points
    5 655
    Par défaut
    Alloah
    Citation Envoyé par IDE
    je ne vois vraiment pas comment parcourir un tableau de pointeur pour rechercher le plus grand
    Ce n'est pas tableau de pointeur, tu as rempli un tableau de int en utilisant un pointeur, ce qui n'est pas du tout la même chose.
    Si les cons volaient, il ferait nuit à midi.

  7. #7
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut
    Oui c'est une erreur de vocabulaire, sorry

  8. #8
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut
    Bon je pense que j'ai trouvé la solution pour trouver le plus grand dans mon tableau :

    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>
    #define H_TAB 3
     
     
    int main(void)
    {
     
    int Tab[H_TAB];
    int *pp;
    int i;
    int max = 0;
     
    for ( i = 0 ; i < H_TAB ; i++ )
    {            
     
      printf("Entrez une valeur: ");
       scanf("%d",Tab + i); 
     
        if ( *(Tab+i) > max )
         {
           max = *(Tab+i);
         } 
     
    }
     
      printf("%d\n",max);
     
      return 0;
    }

  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 IDE
    Voici l'ennoncé : <...> Donc j'ai fais la deuxième étape avec les pointeurs, maintenant je dois rechercher le plus grand, je ne vois vraiment pas comment parcourir un tableau de pointeur pour rechercher le plus grand.
    OK. Alors attention à ton vocabulaire, parce qu'en matière technique et scientifique, le poids des mots est énorme. Il n'y a aucun tableau de pointeurs ici.

    Je pense qu'il faut 2 boucles :
    - d'abord saisir les valeurs
    - puis parcourir le tableau à la recherche de la plus grande.
    Pas de Wi-Fi à la maison : CPL

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

Discussions similaires

  1. Remplir un tableau avec des images
    Par KingNaab dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 10/05/2013, 23h08
  2. Remplir un tableau avec des données d'une autre feuille
    Par nomade333 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/04/2012, 12h17
  3. Remplir un tableau avec des variables
    Par Super_carotte dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 10/06/2010, 09h22
  4. Réponses: 4
    Dernier message: 12/11/2009, 09h58
  5. remplir un tableau avec des références à plusieurs feuilles
    Par Amiral19 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/07/2007, 22h26

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