begin process at 2012 05 28 23:35:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

creation d'un tableau de taille augmentant a chaque iteration d'une boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Membre Club
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

1 2 3 4

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales