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.
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![]()
En C, ce que tu appelles 'vecteur 'et en fait un tableau.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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.Envoyé par Emmanuel Delahaye
Partager