Bonjour,
J'ai un record pour les nombres complexes :
Ensuite je fais une fonction pour ajouter 2 nbres complexes, 2 solutions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 type complexe=record re,im:real; end; pcomplexe=^complexe;
- Méthode 1 :
- Méthode 2 (plus propre je pense) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function ajout1(c1,c2:pcomplexe):pcomplexe; begin ajout1^.re:=c1^.re+c2^.re; ajout1^.im:=c1^.im+c2^.im; end;
Le problème : comment faire la désallocation du pointeur temp dans la méthode 2 ? Est-ce que l'alloc-désalloc est automatique dans la méthode 1 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function ajout2(c1,c2:pcomplexe):pcomplexe; var temp:pcomplexe; begin new(temp); temp^.re:=c1^.re+c2^.re; temp^.im:=c1^.im+c2^.im; ajout2:=temp; end;
Quelle est la meilleure solution ?
Partager