Accueil > Forum > > > > creation d'un tableau de taille augmentant a chaque iteration d'une boucle
creation d'un tableau de taille augmentant a chaque iteration d'une boucle
lundi 23 août 2004 à 08:32:32 |
creation d'un tableau de taille augmentant a chaque iteration d'une boucle

rom12
|
Salut, J'ai besoin de creer un tableau de taille variable... dt la taille n'est pas connue d'avance (d'ou le pb avec malloc). En fait, j'ai une boucle qui calcule des distances entre des chaines de caracteres, et chaque fois qu'on tombe sur une distance inferieure a un seuil, je veux stocker le resultat ds un tableau de resultats... mais je ne peux pas creer un tableau de taille fixe car il risque de bouffer trop de memoire pour pas grand chose et avec malloc je suis oblige de connaitre le nombre de resultats a l'avance pour alloer la memeoire... Si qq1 a une idee, ca m'aiderai bien ;) A+ Rom1 (#2 puisqu' y a deja un #1)
|
|
lundi 23 août 2004 à 08:54:07 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

djl
|
utilise une liste ou alloue ton tableau a une taille maximale pouvant etre atteinte et resize (realloc) apres la boucle
|
|
lundi 23 août 2004 à 08:58:55 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

rom12
|
comment je fais avec une liste?
|
|
lundi 23 août 2004 à 09:41:53 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

djl
|
en gros
typedef struct _list { int value;
struct _list *next; struct _list *cur; struct _list *prev;
} List;
List liste;
liste.prev = NULL; liste.cur = &liste;
for( ... ) { liste.cur->value = ...
liste.cur->next = malloc( sizeof *liste ); liste.cur->next->prev = liste.cur; liste.cur = liste.cur->next; }
mais c'est a verifier
|
|
lundi 23 août 2004 à 09:47:53 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

rom12
|
merci, je v essayer de suite.
|
|
lundi 23 août 2004 à 10:25:30 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

jpthomasset
|
Salut,
Jette aussi un oeil sur le template vector dans la STL...
A+, JP.
|
|
lundi 23 août 2004 à 10:51:51 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

djl
|
deja une rectif
liste.cur->next = malloc( sizeof liste ); au lieu de liste.cur->next = malloc( sizeof *liste );
|
|
mardi 24 août 2004 à 14:30:31 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

leprov
|
et si tu es en C (et que dc tu n'as pas les vectors), tu peux les réecrire grossièrement pou le type pour lequel tu as besoin de faire ca (voila en gros ce qu'il faut faire)
struct vector { int taille; int capacite; type * tableau []; }
ensuite tu fais tes fonctions qui soient telles que tu puisse ajouter un élement au tableau, ce qui va augmenter la taille du tableau, et si besoin la capacité. pour augmenter la capacité, déclare un tableau de capacité + 8 (en c++ pour les vectors les granules mémoires sont de 8, je suppose dc ke cest intelligement choisi), recopie l'ancien tableau, ds ce nouveau tableau, free l'autre, et réalloue ton pointeur sur ce nouveau tableau. ensuite fait les fonctions de bases dont tu auras besoin, genre accesseur etc.... ca sera pas forcement tres tres propre ds l'ecriture, mais ca sera simple d'utilisation, et si ton tableau doit devenir tres gros au final, ca bouffera moins de memoire qu'une liste. et les performances seront probablement meilleures.
|
|
mardi 24 août 2004 à 18:12:21 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

magic_Nono
|
avec realloc, comme l'ont dit les autres, je n'en ai po trouvé d'équivalent si on utilise les new.... exemple de liste gérées ainsi : BListeDir & BListeIndir et les stl, bien sur ++ Magic Nono: l'informagicien!
|
|
mardi 24 août 2004 à 18:15:08 |
Re : creation d'un tableau de taille augmentant a chaque iteration d'une boucle

djl
|
l'equivalent reallloc en c++ c'est std::vector
en c++, pour les listes, utilise std::vector ou std::list
|
|
Cette discussion est classée dans : boucle, taille, tableau, creation, augmentant
Répondre à ce message
Sujets en rapport avec ce message
Tableau [ par druggedsephiroth ]
Je comprends vraiment pas, j'ai un tableau:#define taille 8int cache[taille][taille];ensuite au début du soft, dans la procédure main je mets ca: for
C ANSI allocation dynamique de tableau [ par pedu ]
Ce petit pro beug en sortie, pourquoi et que faire ?#include #include int (*pi)[1][1]; /* pointeur sur un tableau d'entiers */void main(void){ unsi
creation d'objets dans une boucle [ par sampq ]
Je cree un objet dans une boucle que je donne en parametre à un autre objet, un truc du style:for(int i=0; i{ objet_1 o1(i); objet_2 o2(
creation tableau 2D en C [ par jye_dirtbag ]
Bon voila je veux creer un tableau 2D et lors de la création insérer une valeur differente dans la 1ere dimesion à la deuxieme dimension. Je m'expliqu
Creation d'un tableau en C par rotation A l'aide !! [ par babounlehobbit ]
Voila: je voudrai creer un tableau du genre:abcdefgh...xyzbcdefghi...xyzacdefghij...xyzab... et ainsi de suiteLe tout sans avoir a ecrire chaque ligne
Tableau de grande taille [ par LuckyNut ]
Slut,J'ai un problème pour créer un tableau de grande taille à 2 dimensions : int tab[100][62000];Le programme plante sur un "stack overflow"Cette var
Help Me [ par manta7 ]
Bonjour, j'aimerais coder un fonction qui prend en paramètre un tableau de nombres entiers, et qui recherche, dans ce tableau, la plus grande différen
Recuperer la taille d'un tableau de string [ par kobee12 ]
Bonjour a tous,J'aimerais savoir s'il existe une fonction qui permette de récupérer la taille d'un tableau de string.En java, il est possible de recup
Quelle est la taille max d'1 tableau de car? [ par unclecrufek ]
Est-ce possible de dimensionner un tableau de caracteres de maniere a ce qu'il contenir plusieur centaine de car?
Copie directe d'un tableau vers un autre (sans boucle) [ par NiFF ]
Existe-t-il une fonction C qui me permettrait de copier un tableau vers un autre de même dimension,et ce sans avoir à traiter tous les items de ce tab
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|