fr  en
Hypo-thèses

Bienvenue, vous n'êtes pas connecté. ( Se connecter - S'enregistrer )

Hypo-thèses > Forum > Parlons sciences ! > Informatique > (re) création de fonctions mathématiques en C

RSS >  (re) création de fonctions mathématiques en C
General Vans #1 13/05/2007 - 18h13
  •   Up
Codeur

Hors ligne Courriel


Mathématiques

Voilà j'ouvre ce topic pour faire echo au précédent concernant la cryptologie afin de présenter ses fonctions en C personnelles (et j'insiste sur le personnelle car la plupart existent déjà) concernant les maths.

Quelle intérêt ? En recréant les fonctions cela montre que l'on maitrise parfaitement celle-ci à la fois pour les maths et pour la programmation.

Donc je remets ma fonction PGDC et PPCM



int pgcd(int a, int b)
{
    int c = max(a,b);
    int d = min(a,b);
    int r = c%d;
    a = c;
    b = d;

    while (r != 0)
        {
        a=b;
        b=r;
        r=a%b;
        }

return b;
}

int ppcm(int a, int b)
{
    int c = max(a,b);
    int d = min(a,b);
    a = c;
    b = d;
    return a*b * pgcd(a, b);
}
:inn:

Hum... maths ou chimie... mon cœur balance !
11TLP #2 16/05/2007 - 00h01
  •   Up
Hors ligne Courriel


Mathématiques

on met nos fonctions personnelles ?
Guillawme #3 16/05/2007 - 19h10
  •   Up
Modérateur

Hors ligne


Biologie

oui je crois bien que c'est ce qu'il a voulu dire : )
La science nous donne un moyen de parler de ce que nous ignorons. Cuénot (1866 - 1951)
11TLP #4 21/05/2007 - 20h19
  •   Up
Hors ligne Courriel


Mathématiques

il me semble que j'avais posté un message disant :


je crois que je ne sais plus programmer en C !


en tout cas, je vais essayer, corrigez-moi si je me trompe :

la factorielle :




    
  int factorielle(int nombre);  // int est peut-être trop petit

      int factorielle(int nombre)
         {
            int a = 1;
            for(int i = 1 , i <= nombre , i++)
               {
                  a = i*a;
               }
         return a;
         }

edit de Guill@ume pour les balises [code]

voilà, des erreurs ?
Ce message a été édité par 11TLP le 21/05/2007 à 21h46.
General Vans #5 21/05/2007 - 21h16
  •   Up
Codeur

Hors ligne Courriel


Mathématiques

Oui tu as oublié le return a;

Enfin sinon ça va
:inn:

Hum... maths ou chimie... mon cœur balance !
11TLP #6 21/05/2007 - 21h46
  •   Up
Hors ligne Courriel


Mathématiques

ok, modifié
General Vans #7 21/05/2007 - 21h50
  •   Up
Codeur

Hors ligne Courriel


Mathématiques

Nan le return ne doit pas être dans le for, je te modifie ça : )

J'ai aussi ajouter un <= car 5! = 1*2*3*4*5 donc le 5 compte bien !
:inn:

Hum... maths ou chimie... mon cœur balance !
11TLP #8 21/05/2007 - 21h56
  •   Up
Hors ligne Courriel


Mathématiques

aaaaah, grosse erreur qui pourrait faire planter ! merci
RévoX #9 21/05/2007 - 22h19
  •   Up
Administrateur

Hors ligne Courriel Site Web


Physique

Ouais... j'ai déjà vu beaucoup plus intéressant comme fonction ! De plus ta fonction ne tient pas compte du cas où le nombre = 0.
Je ne suis pas contre ce sujet, même si je ne vois pas vraiment son utilité mais essayez au moins de mettre des fonctions personnelles ET intéressantes...
Chanson populaire révolutionnaire
"¡El pueblo unido, jamás será vencido!"
11TLP #10 21/05/2007 - 22h25
  •   Up
Hors ligne Courriel


Mathématiques

j'ai la fonction somme de termes ( avec Σ ) et produit de facteurs ( Π ) mais c'est en TI-BASIC ( donc c'est plutôt un programme et pas une fonction ) et je doute que beaucoup de personnes comprennent le code

edit : je peux quand-même essayer, ce sera commenté :


PROGRAM:SIGMA1              // nom du programme ( SIGMA1 )

:Disp "I MIN ?"                // affiche I MIN ?
:Input "",I                 // demande à entrer une valeur qui sera enregistrée dans la variable I
:Disp "I MAX ?"
:Input "",J
:Disp "CALCUL ?"
:Input "",Str0             // là, la variable est une chaîne de caractères
:StringPosted ImageEqu(Str0,Y0)          // on enregistre Str0 dans la fonction Y0
:0->W                     // enregistre 0 dans la variable W
:For(X,I,J)               // la variable X va aller de I à J avec un pas de 1
:Y0+W->W       // Y0 est utilisé comme une variable, calculée suivant la valeur de X
:End                      // fin de la boucle For
:Disp "SOMME="
:Disp W                   // affiche la valeur de W



edit 2 : alors là, il y a un problème, j'enlève les balises code
edit 3 : je peux aussi effacer l'écran avant avec   :ClrHome
Ce message a été édité par 11TLP le 24/05/2007 à 19h33.
11TLP #11 15/06/2007 - 19h00
  •   Up
Hors ligne Courriel


Mathématiques

je n'arrive pas à reproduire les fonctions cosinus et sinus, il m'affiche soit 0 soit 1 soit -1 : le plus proche

par exemple, sin(π/3)=1.00000000 d'après l'ordinateur !
Kabefis #12 16/06/2007 - 17h11
  •   Up
Hors ligne Courriel


T'as fait tes operations avec quel type de variable?
Tu n'as pas de warning dans ton compilateur?
Si tu as mis dans un entier(int) c'est normale qu'il te sorte des entiers.
Si tu as mis tout en "float" ou "double", bah .. ca doit être autre chose mais après on peut pas trop deviner où est l'erreur : )
(montre ton code)
Erreurs sur erreurs la vie évolue, l'humanité est une des plus grandes sources d'erreurs.
11TLP #13 16/06/2007 - 17h21
  •   Up
Hors ligne Courriel


Mathématiques

j'ai tout mis en double
General Vans #14 16/06/2007 - 19h57
  •   Up
Codeur

Hors ligne Courriel


Mathématiques

cos et sin prennent des float en paramètre : )
:inn:

Hum... maths ou chimie... mon cœur balance !
11TLP #15 16/06/2007 - 20h37
  •   Up
Hors ligne Courriel


Mathématiques

c'est plus petit, float

et j'ai esayé d'ouvrir math.h et il y a un truc comme "long double"

 >  Réponse rapide

Composez votre message

Hypo-thèses > Forum > Parlons sciences ! > Informatique > (re) création de fonctions mathématiques en C

 >  Informations du forum

1 personne(s) présente(s) sur ce forum au cours des dernières 20 minutes (0 membre(s) et 1 invité(s)).

top top

Temps de génération = 0.06567s | Accessibilité | Nous cont@cter
valid xhtml valid CSS firefox firefox