Tableaux : allocation dynamique de sa mémoire

davdoo91 Messages postés 31 Statut Membre -  
SebManfred Messages postés 484 Statut Membre -
Bonjour,

Je souhaiterai allouer dynamiquement de la mémoire à un tableaux.
Je m'explique : j'aimerai stocker des données o fure et a mesure que l'utilisateur rentre ces dernières sans connaitre le nombre de données que l'utilisateurs vas rentrer.

voici le programme que je souhaiterai faire (qui évidement qui ne marche pas) :

float prixInitial[];
int i=0;
cout<< "Entrez les pix initiaux"<<endl<<"tapez 0 pour arréter la saisie"<<endl;
while (1)
{
cin>>prixInitial[i];
if(prixInitial[i]==0) { break;}
else i++;
En vous remerciant devotre aide future

DAVID

5 réponses

SebManfred Messages postés 484 Statut Membre 128
 
à la vue de ton code, oui, mais je demande tout de même pour être sûr : c'est du C?
si oui, la réponse est : liste chainée, malloc et free
0
davdoo91 Messages postés 31 Statut Membre 2
 
non du c++
0
SebManfred Messages postés 484 Statut Membre 128
 
c'est pareil côté allocation mémoire, pointeurs et syntaxe (excepté la partie objet, mais apparament ici, il n'en est pas question)
donc même réponse : liste chainée
0
davdoo91 Messages postés 31 Statut Membre 2
 
et avec des vecteurs ca ne serais pas plus simple?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SebManfred Messages postés 484 Statut Membre 128
 
tu ne peux pas faire varier la taille d'un tableau (vecteur) après sa déclaration.
tu peux, si tu veux, déclarer un très grand tableau, et mettre après ton dernier enregistrement une valeur caractéristique, une "valeur de fin", mais ça a plusieurs inconvénients :
- ça te mobilise de l'espace mémoire
- tu ne peux pas dépasser un certain seuil (il faut donc bien calculer la taille maximale de ton tableau)
- il ne faut surtout pas que ta valeur de test de fin puisse subvenir comme valeur à stocker
- c'est pas propre, comme façon de faire
bref, sincèrement, l'allocation dynamique, pour moi, le mieux, c'est les listes chainées.
sincèrement, c'est pas compliqué, il suffit juste de ne pas s'emmêler les pinceaux.
0