ptite question svp !

ptite question svp ! - C - Programmation

Marsh Posté le 31-10-2004 à 10:35:39    

Salut à tous (j'ai cherché deja avant de poser la question)
 
Je ne me souviens plus comment acceder à la librairie où la fonction cosinus est présente. Ni quelle est la syntaxe; j'ai essayé M_cos mais ...
merci de me le dire !!
ciao  
(merci à ce forum qu'il vive longtemps)

Reply

Marsh Posté le 31-10-2004 à 10:35:39   

Reply

Marsh Posté le 31-10-2004 à 10:37:15    

oops !! j'oubliais :
même question pour la valeur absolue; j'ai testé avec abs() mais je suis pas sur!
merci

Reply

Marsh Posté le 31-10-2004 à 10:37:19    

c'est la lib math.. tu compiles avec -lm et tu inclus math.h


---------------
Julien Oncelay
Reply

Marsh Posté le 31-10-2004 à 10:37:54    

t'as le droit de faire une marco pr la valeur absolue..lol


---------------
Julien Oncelay
Reply

Marsh Posté le 31-10-2004 à 10:38:06    

ouais le truc c ke je boss sous win la avec ms-dos ;(

Reply

Marsh Posté le 31-10-2004 à 10:39:25    

aaaaaaah c donc ca :)..ben dsl


---------------
Julien Oncelay
Reply

Marsh Posté le 31-10-2004 à 10:39:47    

DeirElBahri a écrit :

t'as le droit de faire une marco pr la valeur absolue..lol


c'est à dire ? faire un ptit prog de la valeur absolue ?

Reply

Marsh Posté le 31-10-2004 à 10:49:05    

bon je testerai sous linux mais ça me fait chier j'l'ai pas la .... arf  
personne n'a de solution pour lancer la fichier compilé depuis ms-dos pour que ça prenne en compte la fonction cos ?

Reply

Marsh Posté le 31-10-2004 à 10:52:47    

je me rappel pas avoir deja eu de probleme avec turbo c, mais tu nous a toujours pas dit quel etait ton compilateur  :??:


Message édité par cris56 le 31-10-2004 à 10:53:12
Reply

Marsh Posté le 31-10-2004 à 10:54:49    

dev c++

Reply

Marsh Posté le 31-10-2004 à 10:54:49   

Reply

Marsh Posté le 31-10-2004 à 10:55:45    

pk jpe pas lancer l'execution avec dec c++ ça foire donc je le fais sous ms-dos mais ça compile pas pour l'instant a cause du cos
turbo c tu me dis ?

Reply

Marsh Posté le 31-10-2004 à 11:01:31    

tu peux pas programmer sous dos avec devcpp, il te faut turbo c par exemple
 
mais pour quoi tu veux faire du dos ?

Reply

Marsh Posté le 31-10-2004 à 11:03:21    

pk dev c++ il foire je peux compiler mais apres la fenetre d'execution se lance et se ferme tte seule donc je l'execute sous une fenetre ms-dos.
mais le probleme c juste qu'il veut pas compiler pour l'instant ! donc turbo c tu me conseilles ? et tu écris quoi pour la fonction cosinus ?
M_cos ?

Reply

Marsh Posté le 31-10-2004 à 11:07:32    

non je te conseille pas turbo c, tu confonds ms-dos et console
 
devcpp marche tres bien, comme tu dis ta juste à lancer ton programme dans la console
 
pour cosinus c'est cos déclaré dans math.h

Reply

Marsh Posté le 31-10-2004 à 11:09:53    

ça n'a pas l'air de marcher juste cos

Reply

Marsh Posté le 31-10-2004 à 11:11:08    

qu'est ce qui ne marche pas ?


Message édité par cris56 le 31-10-2004 à 11:11:18
Reply

Marsh Posté le 31-10-2004 à 11:13:17    

la fonction cosinus, je ne crois pas que c'est juste cos.
Tu vois en fait d'habitude je bosse sous linux donc il faut inclure la librairie math.h et compiler avec -lm.  
mais la sous win je ne sais pas comment la faire cte fonction cos. Juste cos comme tu m'as dit ça compile mais en fait ça ne comprend pas cos comme la fonction cosinus

Reply

Marsh Posté le 31-10-2004 à 11:16:03    

tu fais la meme chose, c'est standard

Reply

Marsh Posté le 31-10-2004 à 11:16:50    

ba non ...

Reply

Marsh Posté le 31-10-2004 à 11:19:04    

ben si
 
edit : fais voir ton code


Message édité par cris56 le 31-10-2004 à 11:19:20
Reply

Marsh Posté le 31-10-2004 à 11:22:50    

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
 
float f(int x)
{
return cos(x)-2.0*x;    
}
float absolu(float x)
{
if (x<0)
    return -x;
    else return x;    
}
 
float zero(int eps, int a, int b)
{
int milieu=(a+b)/2.0;
while (absolu(f(milieu))>=eps)
    {
    if (f(milieu)<0)
        {
        b=milieu;
        milieu=(a+b)/2.0;
        }
        else  
               {
               a=milieu;
               milieu=(a+b)/2.0;
               }  
    }  
return milieu;                    
}
 
int main(void)
{
int a=-3,b=3;
float eps;
printf("entrez eps\n" );
scanf("%f", &(eps));
printf("Le zero de la fonction f(x)=cos(x)-2x sur [-3:3], noté x0 (c a d tel que |f(x0)|<%d) est :%d\n",eps,zero(eps,a,b));
}

Reply

Marsh Posté le 31-10-2004 à 11:25:25    

tu as abs et fabs pour la valeur absolue
 
et qu'est ce qui ne fonctionne pas correctement ?

Reply

Marsh Posté le 31-10-2004 à 11:27:08    

ba le cos il ne le prend pas pour la fonction cosinus mais pour n'importe quoi

Reply

Marsh Posté le 31-10-2004 à 11:29:29    

Ta fonction f doit prendre un flottant en entrée, pas un entier. Elle fonctionne en radians, pas en degrés.

Reply

Marsh Posté le 31-10-2004 à 11:31:29    

ouai jviens de le voir ;)
jv tester

Reply

Marsh Posté le 31-10-2004 à 11:31:53    

cris56 a écrit :

tu as abs et fabs pour la valeur absolue
 
et qu'est ce qui ne fonctionne pas correctement ?


Et labs aussi  :jap:

Reply

Marsh Posté le 31-10-2004 à 11:34:06    

ouai j'a v oublié pas mal de %f au lieu de %d mais ça ne marche tjs pas

Reply

Marsh Posté le 31-10-2004 à 11:35:12    

et ta changé le prototype de f ?

Reply

Marsh Posté le 31-10-2004 à 11:35:36    

Même chose pour le reste d'ailleurs. a,b,milieu devraient plutôt être des flottants.

Reply

Marsh Posté le 31-10-2004 à 11:36:12    

ah si remarque !

Reply

Marsh Posté le 31-10-2004 à 11:36:23    

ouais j'ai changé ça deja

Reply

Marsh Posté le 31-10-2004 à 11:39:07    

ok MERCI a tous (bravo Houston) ça marche
et bon w-e à tous  
MERCI encore c sympa je trouve ce forum et je viens pour aider quand je peux.
ciao

Reply

Marsh Posté le 03-11-2004 à 08:01:11    

incubus277 a écrit :

c'est à dire ? faire un ptit prog de la valeur absolue ?


 
une macro c'est ca :

Code :
  1. #define MYABS(x) (x = x < 0 ? x * -1: x;)
  2. int main()
  3. {
  4.   int x = -654;
  5.   int y = 654;
  6.   MYABS(x);
  7.   printf("%d\n", x);
  8.   MYABS(y);
  9.   printf("%d\n", y);
  10.   return (0);
  11. }
  12. Output:
  13. (Deir El Bahri@cc ~)./a.out
  14. 654
  15. 654
  16. (Deir El Bahri@cc ~)


---------------
Julien Oncelay
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed