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 :

un pointeur pour pouvoir retourner un tableau


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut un pointeur pour pouvoir retourner un tableau
    salut pour tous

    Je veux faire une fonction en c++ qui me permettra de retourner un tableau d'entier, et suivant ce que j'ai compris, ceci n'est possible qu'avec un pointeur, mais je n'ai pas compris exactement comment faire pour remplir un tableau avec ce pointeur et qu'est ce que je dois écrire dans la fonction pour qu'elle me permette de retourner ce tableau.

    Merci pour votre aide.

  2. #2
    Membre régulier Avatar de sub-0
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 197
    Points : 76
    Points
    76

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    En fait, il faut que tu définisse mieux la responsabilité de ta fonction: le tableau lui est fourni en paramètre ? Doit-elle l'allouer (pas sûr qu'il te faille répondre oui)? Se contente-t-elle de le remplir ? ...

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    en fait j'ai besoin de 2 fonctions une pour insérer un élément dans un tableau dont je vais appeler selon une condition et une autre fonction qui retourne le tableau

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    J'ai résolu le problème:
    pour l'insertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void insert(int *t,const int indice, const int valeur) {
          t[indice]=valeur;
    }
    pour retourner le tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int *retourne(int*t,int n)
    {
    int *p;
     
    for(p=t;p<t+n;p++)
    return p;
    }

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 892
    Points : 219 438
    Points
    219 438
    Billets dans le blog
    123
    Par défaut
    Euh , ta fonction retourne , je ne comprend pas trop.

    Tu cherche à renvoyer ton tableau à priori.
    Pour retourner un tableau , il faut bien renvoyer un pointeur sur le premier élément du tableau.
    Ce que tu fais , c'est tu crée un pointeur ( par réflexe initialise le lors de sa déclaration ) : soit par :
    soit par :
    et donc le for devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for ( ; p < t+n ; p++
    Je veux aussi revenir sur le for, si tu met un return dans le for , dès le premier passage dans la boucle il va sortir de ta fonction ...
    en faite ton code et revenu à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int *p = t;
    if ( p < t+n )
     return p;
    En conclusion explique ce que tu veux faire, car pour l'instant tu renvoie un poiteur sur un tableau que tu passe en paramètre, soit sur un tableau que tu as déjà.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Ta fonction insert() n'insère rien du tout. Tu devrais plutôt l'appeler set_at()..

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par gougou21 Voir le message
    Je veux faire une fonction en c++ [...]
    Avez-vous vu qu'il veut faire du c++ ?
    C'est pas le bon forum.

  9. #9
    Expert éminent
    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 : 38
    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
    Points : 8 389
    Points
    8 389
    Par défaut
    On est sacrément chanceux que les codes postés jusqu'ici sont tous valides en C comme en C++ alors .

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/01/2014, 13h22
  2. Réponses: 5
    Dernier message: 05/06/2006, 21h00
  3. Réponses: 24
    Dernier message: 24/05/2006, 19h19
  4. [GCC] Tableau de pointeurs pour accès multiples en asm
    Par Flo. dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 12/12/2005, 08h47
  5. pointeur pour un tableau 2d
    Par olive14 dans le forum C
    Réponses: 6
    Dernier message: 07/05/2005, 15h02

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