Aide sur un programmme en C++

Bonjour , j’ai un probleme avec un de mes programme en C++
quand on arrive dans la boucle while au bout de la deuxieme iteration n passe brusquement a 1077280748 , et je ne vois pas du tout pourquoi ! je ne touche pas a n dans la boucle . et i reste a 1 sur 2 iteration avant de passer a 2


int main(int argc, char *argv[])
{    
int n=0, i=0;
double x1;
double*liste;
liste = &x1;

cout<<"entrer la valeur de n:"<<flush;
cin>>n;
cout<<n<<endl;

while(i<n)
       {
       cout<<"entrer la valeur"<<endl;
       cin>>(*liste); 
       cout<<"adresse de liste"<<liste<<"adresse de x1"<<&x1<<endl;
       liste = liste+1;
       i++;     



merci d’avance
Edité le 19/11/2007 à 14:53

ta liste n’est pas une liste :slight_smile:

Ca marche pour le premier tour car liste = &x1 mais une fois que tu as fais liste=liste+1, ton pointeur pointe n’importe ou en mémoire.

Soit tu alloues la mémoire pour chaque nouvel element de la liste, soit tu utilise un vecteur, ou une liste STL.

dequeue liste;

et tu ajoute ta donnée par liste.push_back(nouvelle valeur)

en fait c pour un tp, il demande d’ecrire une fonction qui affiche une liste de double
la fonction d’affichage doit avoir ce prototype
void print_liste(int nombre , double x1 , …)
avec nombre le nombre de nombre de la liste et print_liste une fonction a nombre d’argument variable.

alors je ne sais pas trop comment utilisé ce genre de fonction

et il dit qu’il faudra utiliser un pointeur double*liste dont la valeur sera initialement a &x1

est ce que vous pourriez m’aider svp

C’est galère les arguments variables, il y a des exemples sur ce sujet: cf.
www.clubic.com…

(edit: perso pour faire ça, je me contenterais d’un “void fonction(int nb, double values[])” )
Edité le 20/11/2007 à 13:20