rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Problème Logarithme

Ella, le lundi 8 janvier 2007 à 18:24:29
Bonjour, j'ai un petit probkème.
Voila, j'ai un algo en C qui tourne très bien.
Seulement, je dois calculer le logarithme d'un résultat de ce programme et je sais qu'il faut utiliser le prototype : double log(double x).
Mais le probl-me c'est comment l'utiliser et où ?
Configuration: Windows XP
Internet Explorer 6.0
Répondre à Ella  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Char Snipeur, le mardi 9 janvier 2007 à 09:00:06
je voi pas ou est le problème.
tu veux le log de x dans y :
y=log(x);
Rien de plus simple... Ou alors tu n'en dit pas assez Salutation !
Char Snipeur
Répondre à Char Snipeur

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ella, le mardi 9 janvier 2007 à 13:53:24
Non justement ca ne marche pas.

J'ai tenté de faire un petit programme pour avoir le log neperien d'un nombre et j'ai toujours le même message "Erreur de segmentation" a l'execution.

Voila le programme :
#include <math.h>
#include <stlib.h>
#include <stdio.h>

double log(double x);

int main ()
{double f=2;
double resultat = 0;

resultat = log(f);
}

double log(double x)
{double y=0;
y=log(x);

return(y);
}

Je ne comprends pas d'où vient le problème.
Répondre à Ella

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
doc manu, le mercredi 10 janvier 2007 à 00:02:28
Salut, essaie plutot :

#include <stdio.h>
#include <math.h>

int main()
{
  double a,b ;
  b = 2.;
  a = log(b);
  printf("le logarithme de %f vaut %f \n",b,a);
}


Il ne faut pas oublier de linker avec la lib math :
cc test.c -lm
Répondre à doc manu

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Char Snipeur, le mercredi 10 janvier 2007 à 08:31:31
Salut.
tu n'a pas besoin de metttre double log(double x)
la fonction est deja defini dans math.h !
double log(double x)
{double y=0;
y=log(x);
return(y);
}
cré forcement une erreur de segmentation, car tu fait une fonction défini de manière récursive sans point de sortie !
à chaque appel de log(x) tu appel log(x) qui appel log (x) qui .... (tu as compris?)
la solu de manu devrai fonctionner, si ce n'ai pas le cas, tu as un problème d'installation.
Pour le link avec l'option -lm c'est pas obligatoire : certain compilo le font par défaut, mais à mettre si ça ne compil pas sans. Salutation !
Char Snipeur
Répondre à Char Snipeur

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 ouz, le mardi 18 décembre 2007 à 17:50:33
C'est clair, rien à ajouté
Répondre à ouz