Bonjour,
J'ai déjà eu recours à votre aide il y a peu, mon problème initial a été résolu [MERCI !!] (mais si quelqu'un confirme que ce que j'ai modifié est juste ce serait extra)
Mais voilà, il me reste un point noir dans mon programme à cause de mon ignorance du langage C++... Je ne trouve pas de réponse sur le net.
Je voudrais écrire une structure contenant deux tableaux (mais dynamiques) et un entier, l'entier étant la dimension du tableau. Pour l'instant j'ai mis deux pointeurs et un entier dans ma structure.
Des extraits du code seront plus parlants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 struct data { int npts; double *freq, *ampl; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Data>>n; // Data est un fichier que j'ai ouvert double *tabfreq = new double[n]; if (tabfreq == NULL) return 1; double *tabampl = new double[n]; if (tabampl == NULL) return 1; // Je place les points de mon fichier dans deux tableaux {fréquence - amplitude} cpt = 0; while(Data >> x >> y) { tabfreq[cpt] = x; tabampl[cpt] = y; cpt++; if (cpt > n) {cout<<"compteur a atteint la limite"<<endl; break;} } data *params = new data; params->npts = n; params->freq = tabfreq; params->ampl = tabampl;
Mes questions :
Est-il possible avec cette méthode d'accéder simplement aux éléments de mes tableaux tabfreq et tabampl via le pointeur params ? (Je précise que je ne fais pas cette structure pour me compliquer la vie mais parce que j'en ai absolument besoin pour entrer mes deux tableaux via un unique pointeur dans une fonction)
Pour le moment, je n'ai trouvé que ça (en bidouillant...) :
Mais ça sera inutilisable (ou très difficilement) dans la fonction qui utilise mon pointeur....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for(int i = 0; i<n; i++) { cout<<"params.freq["<<i<<"] = "<<*(params->freq)<<endl; (params->freq)++; }
Et puis, je modifie mon poiteur... et ça m'obligerait à le "rembobiner" en faisant une boucle avecQue me conseillez vous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part (params->freq)--;
Partager