begin process at 2010 02 10 07:37:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

modifier la taille d'un tableau d'objet


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

modifier la taille d'un tableau d'objet

mardi 21 juin 2005 à 04:34:27 | modifier la taille d'un tableau d'objet

istdasklar

Bonjour,

Je travaille sur de tres grand tableau d'objet, (de l'ordre de 10000 objet par tableau).

Mais, je sais pas trop my prendre, pour agrandir et reduire la taille d'un tableau ! je me suis donc fait des fonction, mais je perd en rapidité, et augmente en bug!! Voici ce que j'utilise en ce moment!!

int population=10000;
LIFE * unit[population];

//-----------------
for (i=0;i<population;i++)      // initialisé le tableau de LIFE
unit[i]=new LIFE(..);
//----------------

unit = new LIFE (population-1)          //ajouter une vie!
population++;

//---------------

for (int i=index;i<population-1;i++)  //decaler le tableau
unit[i] = unit[i+1];                                //enleve une vie
 population --;

//-----------------

Yaurai pas des librairies qui se charge de tout ca?
Dinon, le coup du decalage de tt le tableau, pour enlever un objet, c'est long, y a pas mieux? Merci











IDK
mardi 21 juin 2005 à 08:27:39 | Re : modifier la taille d'un tableau d'objet

ricky78

Je te conseille d'aller voir les classe CList ou CArray sur la MSDN, tu trouveras surement reponse à tes questions.

TOCHE
mardi 21 juin 2005 à 08:31:29 | Re : modifier la taille d'un tableau d'objet

darfeuille

Connait tu la STL?
Je pense que tu devrais utiliser les classes <vector> ou <list>.

Exemple avec les listes:

#include <list>
using namespace std; //ne l'oublie pas, fais pas comme moi :)
list<mon_objet> ma_liste;

pour ajouter des objets sans s'occuper de la taille :
for(unsigned int i = 0 ; i < 10000 ; i++)
    ma_liste.push_back(mon_objet);

pour connaitre sa taille :
taille = ma_liste.size();

pour parcourir :
for(list<mon_objet>::iterator it=ma_liste.begin() ; it != ma_liste.end(); it++)
{
    mon_objet = *it;
}

ou sinon t'as les vector, qui s'utilisent comme des tableaux, mais sur lesquels sur peux faire
vector<mon_objet> mon_tableau;

mon_tableau.resize(taille);

Tu trouveras facilement de la doc dessus un peu partout, c'est tres facile a utiliser, et ca marche tres bien



mardi 21 juin 2005 à 11:52:57 | Re : modifier la taille d'un tableau d'objet

xboxut

moi je te conseille de faire une liste chainée ;) comme ca tu peux enlever ou ajouter des objet a  l infini (enfin facon de parler).
sinon s tu  a pas envie d utiliser la stl qui est kan meme bien naze he bien tu redimensionne ton tableau toi meme puis tu copie ton ancien tableau dedan et tu le suprimer (c ce que vector fait je crois mais ac une syntaxe purrave :p pas taper ).
voila amuse toi bien ;)
si tu veux plus d info sur les listes chainées demande je serai heureux de t aider.
mardi 21 juin 2005 à 12:25:23 | Re : modifier la taille d'un tableau d'objet

darfeuille

C'est vrai que la syntaxe de la STl peut paraître bizarre au premier abord, mais ces méthodes sont optimales à condition de ne pas coder avec les pieds(oui, vector fait des recopies bourrin si on fait plein de réallocations, sauf si on fais gaffe en codant et qu'on pense a faire de simples reserve() ) Et de plus on se fait très vite à sa syntaxe, elle est logique.

la classe list ,qui est justement une liste chainée, te permettra de faire celà avec une complexité optimale, proprement, et sans problème de mémoire.

Enfin, chacun fait ce qu'il veut, si tu ne veux pas l'utiliser, je le respecte.


mardi 21 juin 2005 à 18:39:37 | Re : modifier la taille d'un tableau d'objet

xboxut

istdasklarje t envoyer un mess prive en expliquant les listes chainées ;)


Cette discussion est classée dans : taille, objet, tableau, unit, population


Répondre à ce message

Sujets en rapport avec ce message

déplacement d'un objet [ par dim ] je voudrais déplacer un objet d'un tableau et récupererla case du tableau sur laquelle il aura laché.comment puis je faire?merci pour votre aide déplacement d'un objet en c [ par dim ] je voudrais déplacer un objet d'un tableau et récupererla case du tableau sur laquelle il aura laché.comment puis je faire?merci pour votre aide 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? PB de "const" pour un tableau en C [ par james ] est-on obligé de definir une taille pour un tableau declaré en const?faut-il donné la taille dans cette dans le .h et dans le .cdernier question: a-t- tableau d'objet comme variable d'instance [ par MrKribou ] Bon dans le fichier .h (ou fait c comment qu'on appele se fichier la ? header ?) comment declare ton un tableau d'objet comme variable d'instance.Par c++ objet : information theorique [ par adidmamah ] bon voila g une class terrainje cré un objet :terrain t[2];ici j'imagine que le constructeur de la class est appeler 2 fois pour chaque case du tablea 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 Recherche tri d'un tableau d'adresse objet [ par rtnode ] Bonjour à tous,je soumets un problème qui me semble à priori trés banal mais dont je n'ai pas trouvé de bonne solution.Dans nombre de cas, je dispose Comment faire un tableau d'objet ?? [ par vinvay ] Voilà mon problème : j'ai une classe avec deux constructeurs, un qui ne fait rien et l'autre qui initialise une variable de cette classe.Je souhaite f Determiner le placement d objet dans un tableau bidimensionnel [ par titchouno ] Le but est de trouver si des objet sont bien oplacee ounon dans un tablea[X][X]par exemple Figure1:1001001011000000ou les 1 represente les objets. Mai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,640 sec (3)

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