Langage C: Calculer un sinus?
Fermé
Alien Nation
Messages postés
3
Date d'inscription
samedi 18 octobre 2008
Statut
Membre
Dernière intervention
18 octobre 2008
-
18 oct. 2008 à 13:27
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 - 18 oct. 2008 à 14:36
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 - 18 oct. 2008 à 14:36
A voir également:
- Sinus en c
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Débuter langage batch windows - Guide
8 réponses
Yuku
Messages postés
199
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
22 mars 2012
4
18 oct. 2008 à 14:23
18 oct. 2008 à 14:23
Bon, je l'ai un peu amélioré quand même en rajoutant pas mal d'infos mais tu trouveras dedans le sinus :
#include <cstdlib> #include <iostream> #include <math.h> using namespace std; double Somme(double x, double n); double Difference(double x, double n); double Produit(double x, double n); double Quotient(double x, double n); double Puissance(double x, double n); double Exponentielle(double x, double n); double Factorielle(double X); double Sinus(double x, double n); double Cosinus(double x, double n); int CheckDigit(int x); int Reste(int x, int n); int main(int argc, char *argv[]) { double x = 0, puissance = 0, exponentielle = 0, sinus = 0, cosinus = 0, n = 0; double somme = 0, difference = 0, quotient = 0, produit = 0; int checkdigit1 = 0, checkdigit2 = 0, checkdigit = 0, reste = 0; printf(" ==== RAPPORTS ENTRE DEUX NOMBRES ====\n\nCe programme calcule de nombreuses valeurs par rapport a deux nombres.\nIci, x vaudra un nombre normal, et n soit un deuxieme nombre normal,\nsoit une puissance.\n\nEntrez un nombre x... "); scanf("%lf", &x); printf("\nEntrez un nombre n... "); scanf("%lf", &n); sinus = Sinus(x, n); puissance = Puissance(x, n); exponentielle = Exponentielle(x, n); cosinus = Cosinus(x, n); somme = Somme(x, n); difference = Difference(x, n); produit = Produit(x, n); quotient = Quotient(x, n); checkdigit1 = CheckDigit(x); checkdigit2 = CheckDigit(n); checkdigit = checkdigit1 + checkdigit2; reste = Reste(x, n); printf("\n\n______________________________________\n______________________________________\n\nSomme : %.2lf.", somme); printf("\nDifference : %.2lf.", difference); printf("\nProduit : %.2lf.", produit); printf("\nQuotient : %.2lf.", quotient); printf("\nReste : %d.", reste); printf("\nSomme des chiffres de x : %d.", checkdigit1); printf("\nSomme des chiffres de n : %d.", checkdigit2); printf("\nSomme des chiffres de x et de n : %d.", checkdigit); printf("\nPuissance : %.2lf.", puissance); printf("\nExponentielle : %.2lf.", exponentielle); printf("\nSinus : %.2lf.", sinus); printf("\nCosinus : %.2lf.\n______________________________________\n______________________________________\n\n\n", cosinus); system("PAUSE"); return EXIT_SUCCESS; } double Puissance(double x, double n) { double Resultat = 1; double Compteur = 0; do{ Resultat *= x; Compteur++; }while(Compteur < n); return Resultat; } double Factorielle(double X) { double Compteur = 1, Total = 2; do{ Total = Total*Compteur; Compteur++; }while(Compteur <= X); return Total; } double Exponentielle(double x, double n) { double Compteur = 1, Total = 1; do{ Total += (pow(x, Compteur)/Factorielle(Compteur))*2; Compteur++; }while(Compteur <= n); return Total; } double Sinus(double x, double n) { double Compteur = 1, Total = 0, Res = 0; do{ if(Compteur<=n) { Res = ((pow(x, Compteur))/(Factorielle(Compteur)))*2; Total = Total + Res; Compteur = Compteur + 2; } else { return Total; } if(Compteur<=n) { Res = ((pow(x, Compteur))/(Factorielle(Compteur)))*2; Total = Total - Res; Compteur = Compteur + 2; } else { return Total; } }while(Compteur<=n); return Total; } double Cosinus(double x, double n) { double Compteur = 0, Total = 0, Res = 0; do{ if(Compteur<=n) { Res = ((pow(x, Compteur))/(Factorielle(Compteur)))*2; Total = Total + Res; Compteur = Compteur + 2; } else { return Total; } if(Compteur<=n) { Res = ((pow(x, Compteur))/(Factorielle(Compteur)))*2; Total = Total - Res; Compteur = Compteur + 2; } else { return Total; } }while(Compteur<=n); return Total; } double Somme(double x, double n) { double Total = 0; Total = x+n; return Total; } double Difference(double x, double n) { double Total = 0; Total = x-n; return Total; } double Produit(double x, double n) { double Total = 0; Total = x*n; return Total; } double Quotient(double x, double n) { double Total = 0; if(n != 0) {Total = x/n;} else {Total == 0;} return Total; } int CheckDigit(int x) { int ch1 = 0, ch2 = 0, ch3 = 0, ch4 = 0, ch5 = 0, ch6 = 0; int rs1 = 0, rs2 = 0, rs3 = 0, rs4 = 0, rs5 = 0, rs6 = 0; ch1 = x / 100000; rs1 = x % 100000; ch2 = rs1 / 10000; rs2 = rs1 % 10000; ch3 = rs2 / 1000; rs3 = rs2 % 1000; ch4 = rs3 / 100; rs4 = rs3 % 100; ch5 = rs4 / 10; rs5 = rs4 % 10; ch6 = rs5 / 1; rs6 = rs5 % 1; return ch1+ch2+ch3+ch4+ch5+ch6; } int Reste(int x, int n) { int Resultat = 0; Resultat = x%n; return Resultat; }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
18 oct. 2008 à 13:35
18 oct. 2008 à 13:35
Oui, déjà tu ramènes le X à un intervalle compris entre -Pi et Pi par soustraction de kPi.
Et ensuite tu utilises une approximation avec ta série entière.
Avec des boucles, tu pourras facilement calculer X-X*X*X/3 ! etc.
Fais par de ta recherche et on t'aidera. A noter que si tu cherches sur le forum, la réponse a déjà été résolue ;)
Et ensuite tu utilises une approximation avec ta série entière.
Avec des boucles, tu pourras facilement calculer X-X*X*X/3 ! etc.
Fais par de ta recherche et on t'aidera. A noter que si tu cherches sur le forum, la réponse a déjà été résolue ;)
Alien Nation
Messages postés
3
Date d'inscription
samedi 18 octobre 2008
Statut
Membre
Dernière intervention
18 octobre 2008
18 oct. 2008 à 13:52
18 oct. 2008 à 13:52
Le problème c'est que certains ont la bosse des maths, moi c'est plutot un creux...
Est ce que tu pourrais me donner quelques explications par un code et quelques commentaires a l'interieur?
Ou tout simplement me donner le lien du sujet qui traite de ça.
J'ai envie de le faire par moi même mais je ne vois vraiment pas comment procéder.
Les maths me tueront :(
Est ce que tu pourrais me donner quelques explications par un code et quelques commentaires a l'interieur?
Ou tout simplement me donner le lien du sujet qui traite de ça.
J'ai envie de le faire par moi même mais je ne vois vraiment pas comment procéder.
Les maths me tueront :(
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
18 oct. 2008 à 14:04
18 oct. 2008 à 14:04
Ce que je te demande ce n'est pas des maths mais de la simple recherche.
Allez pour t'aider : http://www.commentcamarche.net/forum/affich 8936182 euh o x
Bonne lecture
Allez pour t'aider : http://www.commentcamarche.net/forum/affich 8936182 euh o x
Bonne lecture
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Yuku
Messages postés
199
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
22 mars 2012
4
18 oct. 2008 à 14:14
18 oct. 2008 à 14:14
J'ai eu un exo comme ça, je l'ai fait hier :)
Tu veux la solution?
Tu veux la solution?
Alien Nation
Messages postés
3
Date d'inscription
samedi 18 octobre 2008
Statut
Membre
Dernière intervention
18 octobre 2008
18 oct. 2008 à 14:22
18 oct. 2008 à 14:22
Ce serais sympa oui.
Yuku
Messages postés
199
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
22 mars 2012
4
18 oct. 2008 à 14:36
18 oct. 2008 à 14:36
Ouais, je vais y penser sans tarder.
Yuku
Messages postés
199
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
22 mars 2012
4
18 oct. 2008 à 14:31
18 oct. 2008 à 14:31
C'est que j'ai configuré DevC++ en langage C++ à la base, d'où le fait qu'il me donne les bibliothèques iostream et cstdlib, et non stdlib.h et stdio.h...
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
18 oct. 2008 à 14:35
18 oct. 2008 à 14:35
Mauvais réflexe alors.
Configure le en C et programme en C. Ou laisse-le comme ça et configure le en C++.
Configure le en C et programme en C. Ou laisse-le comme ça et configure le en C++.
18 oct. 2008 à 14:27
Pas besoin de using namespace std. Pas besoin d'inclure iostream ni cstdlib mais inclue plutôt stdio.h et stdlib.h.
Le mélange de C et C++ c'est pas tip top ;)