Creer vecteur de dimension indefinie

cadet1401 Messages postés 11 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 28 mars 2008 - 25 mars 2008 à 21:02
cadet1401 Messages postés 11 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 28 mars 2008 - 26 mars 2008 à 20:08
bonsoir tout le monde

voila mon problème:
j'aimerais rentrer des nombres dans un vecteur et arreter d'en rentrer si le nombre entré est un négatif
comment faire pour allouer la mémoire si on ne sait pas combien d'éléments vont être placés dans ce vecteur?

je n'ai pas encore commencé à taper le code car je n'arrive pas à m'imaginer la solution de ce problème.

Merci pour votre aide

KD

7 réponses

acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
25 mars 2008 à 21:17
salut il y a 2 solutions (tu trouveras sur google si tu ne connais pas):
realloc, ou liste chainée
0
acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
25 mars 2008 à 21:19
oops, bien sur il y a une 3 ième solution qui est la plus utilisée: autoriser un nombre maximal d'éléments
0
cadet1401 Messages postés 11 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 28 mars 2008
25 mars 2008 à 21:26
merci pour la reponse.


est-ce possible d'incrementer de 1 (à chaque fois qu'on rentre un nombre)  la taille du vecteur ?

KD
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
25 mars 2008 à 21:30
C'est possible c'est  sans doute la pire solution (si on utilise un système de réallocations, il faut quand même en faire le moins souvent possible...)
Sinon, regarde aussi la STL, elle propose déja des types vecteur et list déja touts faits:

std::list maListe;

while(caractère_rentré >= 0) {
    maListe.push_back(caractère_rentré);
}

_____________________________________
Un éditeur de ressources gratuit pour Windows
0

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

Posez votre question
cadet1401 Messages postés 11 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 28 mars 2008
26 mars 2008 à 12:24
waw et ca fait quoi ca ??

jamais entendu parler...

KD
0
mmaximum Messages postés 38 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 9 décembre 2011 2
26 mars 2008 à 19:51
Tu peut aussi utilisé la STL
exemple:
#include
std::vector maListe;
int x=0;
while (caractèreRentré>=0)
{
    maListe[x]=caractèreRentré;
    x+=1;
}

Et voilà, c'est pas compliqué
0
cadet1401 Messages postés 11 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 28 mars 2008
26 mars 2008 à 20:08
ah d'accord  

merci

KD
0
Rejoignez-nous