Résultats de 1 à 10 sur 10

Sujet : fonction de tableau

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    2

    fonction de tableau

    bonjour,
    je voudrais créer une fonction qui renvoie un tableau de double
    j\'ai essayé double[] comme en java mais cela n\'est pas juste
    quelqu\'un connaitrait la solution à mon problème?
    nh\'ésitez pas à me répondre..
    merci
    PS c en C++ :cry:
    et vive l\'info!

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    627
    j\'y connais pas bien grand chose en C++ mais t as esssayé :

    Code:
    double *tab
    comme en c?
    ... Until then, we're better off dead
    A smile on the lips and a hole in the head ...

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    4
    A mon avis tu devrai préciser la taille du tableau de retour.
    par exemple double[5]

    Je te promets d\'y jeter un coup d\'oeuil et te ferai signe

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    2
    merci pour vos réponses mais j\'avais déjà essayé les 2!
    ms j\'ai trouvé en fait il faut renvoyer un vecteur et non un tableau
    mettre au début
    #include<vector>
    et pour déclarer
    vector<type du tableau renvoyé> nom(paramètre)

    voilà
    si ça peut aider qqn
    :lol:
    et vive l\'info!

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    1 012
    en effet en C++ tu dois utiliser les vector (si tu veux respecter le C+++++++++++ ) mais tu peux très bien utiliser les deux propositions elle renvoient toutes deux des tableaux =) seulement elles sont utilisées d\'une autres manière
    Grégory S.

    eVias Web & Software Solutions.

    Développement Web et logiciel en tout genre et Open Source.

    FOSDEM 2008. Venez -y nombreux !

  6. #6
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    Juste pour faire une remarque tardive sur le sujet.

    double[5] ne donne rien.

    On peut le faire sans utiliser de vecteur de la façon suivante.

    En statique
    double tab[10];
    Ce qui donnera un tab de 10 doubles, il faut dans ce cas connaitre le nombre d\'éléments au départ et mettre une constante.

    En dynamique
    double* tab = new double[10];

    /* Ou bien */

    double* tab;
    tab = new double[10];
    Et dans ce cas, au lieu de 10 on peut mettre une variable.

    Mais il faut dans le cas dynamique désallouer le tableau à la fin de son utilisation
    delete [] tab;
    J\'espère que cela pourra aider certains pour la suite.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

  7. #7
    Membre MP
    Inscrit
    août 2013
    Messages
    535
    Je dépoussière un peu, mais j\'aurai trouvé inutile de créer un nouveau topic alors que c\'est dans la même optique:

    Je déclare
    Code:
    vector<fiche>carnet(taille);
    Mais je veux créer une fonction pour afficher. Donc je passe par référence (dites moi si il ya plus simple) l\'objet \'carnet\', qui est un tableau dynamique de type fiche (fiche est une structure). Mais c\'est de quel type? La définition et la déclaration de ma fonction devront être écrites comment?

    J\'ai bien tenté
    Code:
    void carnet_afficher(fiche &carnet, int i);
    Pour ensuite n\'avoir qu\'a marquer en défintion qqchose du style
    Code:
    void carnet_afficher(fiche &carnet, int i)
    {
    cout<<\"Nom: \"<<carnet[i].nom<<endl;
    cout<<\"Prenom: \"<<carnet[i].prenom<<endl;
    cout<<\"Addresse email: \"<<carnet[i].email<<endl;
    cout<<\"Anniversaire: \"<<carnet[i].anniversaire<<endl;
    }[/quote]
    Le i, c\'est dans une boucle for en fait:
    Code:
      for(int i=0;i<=taille;i++)
      {
        carnet_afficher(carnet,i);
      }
    Je sais donc pas comment déclarer ma fonction \'carnet_afficher\'... Merci d\'avance.

    PS: j\'ai oublie de preciser que taille etait un entier définit.

  8. #8
    Membre MP
    Inscrit
    août 2013
    Messages
    535
    UP

  9. #9
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    Faut voir ça avec ceux qui utilisent la STL.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

  10. #10
    Membre MP
    Inscrit
    août 2013
    Messages
    1 012
    Salut,
    je te propose la solution la plus conseillée... Utiliser les classes du C++ :

    - Tu dois déclarer deux classes, Carnet et Fiche. La première devra surchargé l\'opérateur [] et doit contenir une liste de toutes les Fiche disponible. Ensuite l\'opérateur[] n\'aura plus qu\'à parcourir les Fiche jusqu\'à ce qu\'il arrive à i, et enfin il retourne la Fiche ...
    - La classe fiche contient des mutateurs et accesseurs (get_nom( ) et set_nom( ) ... get_mail( ) et set_mail( ), etc.); A toi de voir quels champs tu veux utiliser (nom, prenom, mail, etc.)
    - Pour affiche une Fiche i du carnet tu peux maintenant utiliser l\'opérateur [] de la classe Carnet, bien sûr l\'objet que tu donnes en référence à la fonction affiche_fiche( ) est un Carnet et non une Fiche !

    J\'espère que cela peux t\'aider ...

    Peace :wink:
    Grégory S.

    eVias Web & Software Solutions.

    Développement Web et logiciel en tout genre et Open Source.

    FOSDEM 2008. Venez -y nombreux !

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé