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 :

matrice de tableaux dynamique


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut matrice de tableaux dynamique
    je cherche a faire une matrice de pointeur qui pointe sur des tableau dynamique, le problème c'est que la taille des tableau n'est connu que' la fin d'un ensemble de teste ce qui rend l'utilisation du malloc un peut gênante, aussi que un tableau peut changer de taille si il le faut.

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Si je comprend bien, tu veux faire une matrice A qui contient des pointeurs.

    Ces pointeurs pointent vers un tableau. (dynamique)

    si tu connais le type de tes éléments de tableau je ne vois pas où est le problème ...

    Le tout est de bien séparer la structure qui va te permettre de pointer (ta matrice) et les données elle mêmes (tes tableaux)

    J'ai du mal à voir où est ton problème.

  3. #3
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    le problème c'est que je ne connais pas la tail de mon tableau a l'avance, je pense mètre un tableau temporaire mais l’algorithme est déjà trop compliqué pour me permettre de faire ça, est ce que c'est possible de remplir le tableau avant d y alloué de la mémoire.

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par lastrecrue
    le problème c'est que je ne connais pas la tail de mon tableau a l'avance, je pense mètre un tableau temporaire mais l’algorithme est déjà trop compliqué pour me permettre de faire ça, est ce que c'est possible de remplir le tableau avant d y alloué de la mémoire.
    Si tu as besoin d'une structure de données souple, c'est peut être le moment d'envisager l'usage d'une liste chainée.

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Citation Envoyé par lastrecrue
    c'est possible de remplir le tableau avant d y alloué de la mémoire.
    S'il n'y a pas de place, comment veux tu mettre quelques chose dedans ???
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  6. #6
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par lastrecrue
    le problème c'est que je ne connais pas la tail de mon tableau a l'avance, je pense mètre un tableau temporaire mais l’algorithme est déjà trop compliqué pour me permettre de faire ça, est ce que c'est possible de remplir le tableau avant d y alloué de la mémoire.
    Le truc c'est de redimentioner la taille du tableau à chaque fois que tu désires ajouter un élément. Tu ne dois pas attendre à la fin, tu alloue de la mémoire avant chaque insertion. Tu peux donc utiliser realloc.

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Crayon
    Le truc c'est de redimentioner la taille du tableau à chaque fois que tu désires ajouter un élément. Tu ne dois pas attendre à la fin, tu alloue de la mémoire avant chaque insertion. Tu peux donc utiliser realloc.
    realloc() à chaque fois ? C'est tout sauf efficace. Mieux vaut redimensionner par doublage... (O log(n))

  8. #8
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    realloc() à chaque fois ? C'est tout sauf efficace. Mieux vaut redimensionner par doublage... (O log(n))
    Le nombre d'allocations est en log N, mais le nombre de copie d'éléments est proportionnel à N. N'importe quel facteur constant supérieur à un à la place de deux l'assure, et il y a quelques intérêts à utiliser un facteur inférieur au nombre d'or (pour un facteur supérieur au nombre d'or, la mémoire déjà libérée ne sera jamais suffisante pour l'allocation demandée, plus le facteur est petit moins on a de mémoire allouée mais inutilisée), j'aime utiliser 1.5 parce que c'est facile à calculer.

  9. #9
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    realloc() à chaque fois ? C'est tout sauf efficace. Mieux vaut redimensionner par doublage... (O log(n))
    comment faire pour ne pas utiliser realloc a chaque fois?
    la repense avec nombre d'or aussi attise ma curiosité.

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

Discussions similaires

  1. tableaux dynamiques
    Par Mynautor dans le forum C++
    Réponses: 23
    Dernier message: 12/02/2005, 02h45
  2. TAD matrice (structure + tableau dynamique)
    Par supermanu dans le forum C
    Réponses: 10
    Dernier message: 13/11/2004, 20h04
  3. [D7] Tableaux dynamiques dans un record
    Par bobby-b dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2004, 23h23
  4. Article sur les tableaux dynamiques
    Par Eric Sigoillot dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2004, 22h00
  5. [Kylix] Tableaux dynamiques sour Kylix2
    Par Krän dans le forum EDI
    Réponses: 6
    Dernier message: 07/10/2003, 14h31

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