|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 6 ![]() |
Bonjour,
Des vecteurs creux sont des vecteurs de grande taille avec beaucoup de coordonnées nulles. Par exemple V = (0, 0, 3.1, 0, 0, 4.2, 0, 0, 0, 0). On ne veut stocker que les infos non nulles, donc ici 3.1 et 4.2 ainsi que leur position. Il fallait definir un type vectcreu, j'ai donc fait : Code :
J'ai fait : Code :
Cela ne fonctionne pas mais je ne vois pas pourquoi (je débute...). Merci pour votre aide. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 829 ![]() |
Dans ta fonction récursive, tu utilises les éléments comme des couples `int * float`, ce qui est incompatible avec la définition de type que tu donnes. Il faut que tu choisisses soit d'utiliser des couples ainsi, soit d'utiliser le type `couple` que tu as défini.
Pour manipuler un type produit comme le type `couple` que tu as défini, tu peux utiliser Code :
| c :: t -> ... c.place ... c.composante ... Code :
| { place = i; composante = v } :: t -> .... i ... v ....
|
|
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 6 ![]() |
Ca marche! Merci.
Finalement j'ai fait : Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com