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

printf("blabla");

Caudheur
Caudheur
Niveau 8
30 décembre 2012 à 17:07:28

Ok, merci beaucoup Chris ! Je bosse ça dans mon coin pour essayer de comprendre et je posterai les résultats

Pseudo supprimé
Pseudo supprimé 30 décembre 2012 à 17:50:27

si tu code avec java ou python tu peux utiliser la fonction random gaussian de la lib standard.

avec python et random.gauss:
https://image.noelshack.com/fichiers/2012/52/1356886125-untitled.png

Caudheur
Caudheur
Niveau 8
30 décembre 2012 à 18:06:37

Ah oui, c'est tout à fait ce que je cherche à faire ! Mais je suis en C++, et je vais essayer de mettre en œuvre la formule de Chris

godrik
godrik
Niveau 30
30 décembre 2012 à 18:39:59

En c, les libs de R disposent de toutes les fonctions de generations don't tu peux avoir besoin.

Caudheur
Caudheur
Niveau 8
30 décembre 2012 à 19:40:52

Je ne sais pas ce que sont les libs de R :question:

godrik
godrik
Niveau 30
30 décembre 2012 à 19:55:54

Ce R la (le logiciel de statistique)
http://www.r-project.org/

hyrulink2
hyrulink2
Niveau 7
30 décembre 2012 à 21:37:59

Ou sinon std::normal_distribution

Pseudo supprimé
Pseudo supprimé 30 décembre 2012 à 21:40:50

godrik Voir le profil de godrik
Posté le 30 décembre 2012 à 05:33:59 Avertir un administrateur
En C la seule valeur par defaut possible est "whatever is in the memory".

Par contre, tu peux encapsuler ta structure pour que la seule facon de faire une instance est en appelant une fonction particuliere.

Ok merci ! Ca ressemble limite à de la programmation objet :o))

godrik
godrik
Niveau 30
30 décembre 2012 à 21:58:39

"Ou sinon std::normal_distribution"
wow, je n'avais pas vu qu'ils avaient integre cette partie la de boost dans C++11. Il faut vraiment que je regarde la tete des nouvelles fonctions!

"Par contre, tu peux encapsuler ta structure pour que la seule facon de faire une instance est en appelant une fonction particuliere."

"Ok merci ! Ca ressemble limite à de la programmation objet"
Bah c'est par ce que ca en est :)
Ce n'est pas parceque tu fais du C que tu ne peux pas faire de programmation oriente objet. :) L'oriente objet est une facon de programmer, pas une propriete des langages. La plupart des langages qui supportent la programmation procedurale supportent egalement la programmation oriente objet. La syntaxe n'est pas aussi agreable, mais dans le fond c'est pareil.

chris_27
chris_27
Niveau 10
30 décembre 2012 à 22:58:21

J'ignorais aussi qu'ils avaient ajouter du support pour les probas dans la lib standard du C++.

godrik: ahma, c'est violent d'invoquer R pour ne pas se taper un code de 10 lignes. :(

Pseudo supprimé
Pseudo supprimé 30 décembre 2012 à 23:24:18

godrik, ok je saisis bien :p)

Autre petite question, j'ai pris pour habitude de respecter la norme ANSI (C90)

Mon livre parle à la fin de la norme C99, je ferais mieux d'éviter cette norme ?

J'ai comme l'impression que je vais me faire hachage menu (jeu de mot de piètre qualité, je sais...) si je l'utilise :peur:

Caudheur
Caudheur
Niveau 8
31 décembre 2012 à 00:02:37

Chris : c'est ce que je me disais :noel:

godrik
godrik
Niveau 30
31 décembre 2012 à 04:48:48

C99 est plus confortable a utiliser que C90. Ca m'etonnerait que tu rencontres un compilateur qui ne supporte pas C99 de nos jours.

Pseudo supprimé
Pseudo supprimé 31 décembre 2012 à 04:56:16

Et dans la pratique, au niveau professionnel vous utilisez cette norme, ou ça dépends des exigences ?

godrik
godrik
Niveau 30
31 décembre 2012 à 06:59:06

Ca depend surtout des compilateurs. Les gens qui programme en C ont parfois des contraintes liee a un compilateurs particulier. En pratique, je n'ecris pas beaucoup de code C. J'ecris surtout du C++, tous les projets que j'initie sont ecrit en C++. Mais parfois ca m'arrive d'ecrire du code dans un projet exterieur, auquel cas, je me conforme a la norme de C utilise par ce projet. Par exemple, j'ai contribuer a Zoltan [1] qui (de memoire) est ecrit en C90. Si j'avais besoin de faire un projet C, j'utiliserit probablement C11 [2]. (Oui, il y a un C11 qui a ete publie principalement dans le but d'ameliorer la compatibilite entre C++ et C.)

[1] http://www.cs.sandia.gov/Zoltan/Zoltan.html
[2] http://en.wikipedia.org/wiki/C11_%28C_standard_revision%29

Calmacil
Calmacil
Niveau 47
31 décembre 2012 à 12:05:19

Salut, j'ai une question : j'ai fait un makefile qui créé une library à partir de 3 fichiers : deux .c et un .h

Le truc, c'est que mes fichiers C appellent mon header avec les '<' et '>' et pas avec les guillemets (genre #include <header.h>)

Le truc c'est que notre prof VEUT qu'on utilise cette méthode, pour un question de rigueur. Mais l'autre truc, c'est que avec cette méthode, on doit faire "export LD_LIBRARY_PATH=.:{LD_LIBRARY_PATH}" à chaque fois qu'on ouvre le terminal, sinon le programme marche pas.

J'ai une question : serait-il possible de faire faire cette ligne par le makefile automatiquement, et si oui comment ?

chris_27
chris_27
Niveau 10
31 décembre 2012 à 14:00:10

VampireGirl: j'ai tendance à ne pas trop me soucier des normes personnellement. La plupart du temps, le code n'est ni gros, ni critique, ni partager entre des milliers de personnes. Du coup, ça suffit de faire "juste" du C. :)

Calmacil:
« Le truc c'est que notre prof VEUT qu'on utilise cette méthode, pour un question de rigueur. » :d) bah il ferait mieux d'apprendre ce que ça veut dire la rigueur. Les .h qui viennent de ton propre code source, on les inclut entre " dans la vraie vie.

Sinon, au lieu de hacker ton LD_LIBRARY_PATH, ce qui est fondamentalement ****MAL****, tu peux mettre dans ton makefile un truc du genre :

SRC = toto.c titi.c main.c                      (attention, l'ordre va compter ici)
OBJ = $(SRC:.c=.o)
CC = ......
CFLAGS = -I. -Wall -Wextra -O2
LIBS = -L. ........                             (mettre aussi les -lmachin nécessaires ici)

%.o: %.c
        $CC $CFLAGS -c $^ -o $@

all: main

main: $OBJ
        $CC $CFLAGS $LIBS $^ -o $@

chris_27
chris_27
Niveau 10
31 décembre 2012 à 14:01:54

(wapfff la police en carton mâché)

Dans CFLAGS, c'est un "moins" "i majuscule" "point".
(Et dans LIBS c'est un "moins" "L majuscule" "point".)

Je te renvoie à la documentation de ton compilateur pour voir ce que font ces options.

Calmacil
Calmacil
Niveau 47
31 décembre 2012 à 16:11:26

Concrètement, ce que tu m'as mit dans tes messages plus haut fait quoi ? Il lie le programme créé à la library ?

chris_27
chris_27
Niveau 10
31 décembre 2012 à 16:17:40

En gros, ça fait comme si le répertoire courant faisait partie de la bibliothèque standard.

Mais comme je l'ai dit, va lire la documentation de ton compilateur pour avoir les détails. Ça c'est un boulot que personne ne pourra faire pour toi.

PS: on ne dit pas library, mais bibliothèque (ou librairie).

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