CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Comment créer une fonction de X au C++?

mengele
mengele
Niveau 2
22 juillet 2005 à 16:02:40

Voilà, coment créer une fonction f(X) au C++ ?
Comment déclare-t-on f et keske c´est ? Sinon y a-t-il une astuce, pour que f varie en fonction du réel ( double) X ( variable ds une boucle " while") ?
J´ai presque tout essayé, et vu ke je ne suis qu´un pauvre débutant ds l´énorme univers du C++, vous me direz sûrement alors que j´ai rien essayé tellement y a de feintes pour déclarer f ( int, double, char, float,...). Chaque fois il me prend X ( ou n´importe quelle autre nom de variable) comme un caractère et me renvoit du n´imp ( genre : 2.5458e-1.02). Quand je fais par exemple f=2*X, le prog dit ensuite que X=par exemple 2, et alors f ne fait pas 4 mais du n´imp, comme dit...
Svp aidez moi, et dîtes moi comment déclarer f, comment entrer le ´X´ lorsqu´y a " cin>>f;" ( faut-il mettre les ´*´ de la multiplication ou pas ? ), et s´il y a une librairie à ajouter. MERCI

JeanYvesYves
JeanYvesYves
Niveau 10
22 juillet 2005 à 16:06:08

merci de clarifier tes messages, j´ai eu beaucoup de mal a lire, sert toi de la touche " retour a la ligne"

sinon, un exemple pour faire f = 2*x :

double fonction(double x)
{
return 2*x;
}

appel :

double f = fonction(x);

est ce que ça répond a ta question ?

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
22 juillet 2005 à 16:10:26

Avec une macro ça marche bien aussi non ?

  1. define f(x) 2*x
godrik
godrik
Niveau 30
22 juillet 2005 à 16:55:25

Lockless: je pense que JYY voulait donner un exemple de fonction.
mais rappelons encore une fois:
les macros c´est mal.
préferez les fonctions inlines

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
22 juillet 2005 à 17:48:52

Oui, j´ai vu qu´il demandait une fonction, mais comme jétais pas sur que ça puisse bien marcher une macro, j´ai préféré demander...

Chaos_Clad
Chaos_Clad
Niveau 10
22 juillet 2005 à 18:18:35

Tiens, j´en profite pour demander un truc :

En prog Windows, si je fais cette fonction ( return 2*x;), je dois me servir de LineTo ( PolyLineTo peut-être) pour pouvoir la tracer ou c´est encore plus compliqué que ça ?

LGV
LGV
Niveau 28
22 juillet 2005 à 20:02:57

lockless : au passage, pour etre un peu plus robuste, ta macro devrait mettre des ( ) autour ( il suffit de combiner avec un opérateur qui est prioritaire sur le * pour que ta macro donne des resultats inattendus). Mais comme dit juste au dessus, les macros c´est le mal, les templates et les inline, c´est tellement mieux !

chaos_clad : tu dois echantilloner ta fonction ( donc calculer un certain nombre de points sur ta courbe) pour la tracer sous forme d´un ensemble de segments. ( solution naive brute et basique, mais qui fait l´affaire..)

lord_kalipsy
lord_kalipsy
Niveau 10
22 juillet 2005 à 20:12:11

godrik & LGV : Malheureusement pas tout les compilos supporte l´inlinage :( Mon VC++6.0 standart par exemple ne permet pas d´inliner ( même avec les options de compilation trouvé sur MSDN). J´vous donnerais bien le lien sur MSDN, mais j´ai formaté depuis peu ( donc perdu mes favoris dans FireFox) et chercher sur MSDN c´est l´bordel . ..

lord_kalipsy
lord_kalipsy
Niveau 10
22 juillet 2005 à 20:12:56
  • standard

( Par contre, si vous avez une idée pour regler çca, j´suis prenneur ^^

lord_kalipsy
lord_kalipsy
Niveau 10
22 juillet 2005 à 20:18:28

Bon, j´ai trouvé le lien : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_core_.2f.ob.asp

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
22 juillet 2005 à 21:17:20

LGV: oui exact, j´avais pas pensé que ça pouvait poser des problèmes de ce genre...

lord_kalipsy: il serait temps de passer à VC++2005 beta non ? :)

LGV
LGV
Niveau 28
22 juillet 2005 à 23:27:38

kalipsy : je bosse encore sur un VC6 tout ce qu´il y a de plus normal, au boulot, et l´inlining fonctionne
tu as plus de détails ou des cas précis ?

Kilyn_
Kilyn_
Niveau 10
23 juillet 2005 à 13:29:33

:lol: vos réponses me font réaliser qu´il y a plein de choses que je ne connais pas en C++. :malade: Enfin je vois que je maîtrise mieux le Java que le C++.

lord_kalipsy
lord_kalipsy
Niveau 10
23 juillet 2005 à 14:45:53

LGV : Au boulot tu dois avoir la version Pro ou Enterprise.

" Feature Only in Professional and Enterprise Editions Code optimization is supported only in Visual C++ Professional and Enterprise Editions. For more information, see"

J´ai la version standard, par conséquent même avec les options dans la ligne de commande et l´inlinage forcé, on vois aucune différence.

[Lockless] -> Bah, je préfère rester sous ma VC++6.0 chérie :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment