Bonjour,je voudrais savoir comment definir le type tableau comme type de retour d'une fonction;par exemple la fonction ProduitVectotiel(int V1[3],int V2[3]) retourne un vecteur,Merci.
Version imprimable
Bonjour,je voudrais savoir comment definir le type tableau comme type de retour d'une fonction;par exemple la fonction ProduitVectotiel(int V1[3],int V2[3]) retourne un vecteur,Merci.
Autant en algo je vois bien ce que peut être un vecteur, en maths aussi j'avoue que je n'ai jamais entendu parler d'un tel type en C 8O
En C, ce que tu appelles 'vecteur 'et en fait un tableau.Citation:
Envoyé par sidahmed
Une fonction ne sait pas retourner un tableau. Elle peut
- soit retourner l'adresse du premier élément d'un tableau. Cette adresse doit évidemment être valide après exécution de la fonction, ce qui exclu l'adresse d'une variable locale.
Code:T *f()
- soit écrire dans un tableau de sortie dont on aurait passé l'adresse du premier élément via un paramètre pointeur du même type. L'espace dont dont passe l'adresse doit évidemment être valide avant l'appel de la fonction.
Code:f(T *p)
En effet tu peux faire cette fonction
la signature est la suivante :
à l'interieur de cette fonction tu vas délcarer un pointeur sur entier et puis allouer l'espace nécessaire pour y mettre le résultat.Code:int * ProduitVectotiel(int * V1,int * V2)
Une fois le traitement finis , tu peux récupérer l'adresse du résultat qui sera toujours dans la mémoire aprés l'appelle de la fonction.
l'appelle sera comme suit :
voilà, bonne chance :)Code:
1
2
3
4
5
6
7
8 int * vecteur1; int * vecceur2; int * vecteur3; ..... // tu fais les allocations nécessaire pour les vecteurs 1 et 2 .....// dans cet exemple je suppose que la dimension est figé .....// sinon il faut la passer en paramètre de la fonction vecteur3 = ProduitVectotiel(vecteur1,vecteur2);
Pour completer, elle peut aussi retourner une struct contenant un tableau. Ce qui n'est pas une mauvaise approche a priori pour 3 dimensions.Citation:
Envoyé par Emmanuel Delahaye