Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2946 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Racine carrée en C++

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Racine carrée en C++

n°916975
Infosactua​lite
Macintosh vs. Windows
Posté le 07-12-2004 à 14:01:17  profilanswer
 

:hello:  
 
J'ai essayé de faire un programme pouvant calculer la taille de l'hypoténuse a partir de deux cotés de l'angle droit (Théorème de Pythagore)
 
J'ai fait qques recherches pour utiliser la fonction racine carrée mais ca ne marche pas.Code source :
 

Code :
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <math.h>
  5. using namespace std;
  6. int main(int nNumberofArgs, char* pszArgs[])
  7. {
  8.   int Cote1;
  9.   cout << "Entrez la taille du premier cote formant l'angle droit du triangle: ";
  10.   cin >> Cote1;
  11.  
  12.   int Cote2;
  13.   cout << "Entrez la taille du deuxieme cote formant l'angle droit du triangle: ";
  14.   cin >> Cote2;
  15.  
  16.   int hypotenuse;
  17.   hypotenuse = double sqrt(double Cote1)
  18.   cout << "Taille du cote de l'hypotenuse : ";
  19.   cout << hypotenuse << endl;
  20.   system("PAUSE" );
  21.   return 0; 
  22. }


L'erreur se trouve a la ligne 23 :
 

Citation :

Compilateur: Default compiler
Exécution de  g++.exe...
g++.exe "C:\ Downloads\SansNom1.cpp" -o "C:\Downloads\SansNom1.exe"    -I"C:\Dev-Cpp\include\c++\3.3.1"  -I"C:\Dev-Cpp\include\c++\3.3.1\mingw32"  -I"C:\Dev-Cpp\include\c++\3.3.1\backward"  -I"C:\Dev-Cpp\lib\gcc-lib\mingw32\3.3.1\include"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"  
C: /Downloads/SansNom1.cpp: In function `int main(int, char**)':
C: /Downloads/SansNom1.cpp:23: error: syntax error before `(' token
 
C: /Downloads/SansNom1.cpp:33:2: warning: no newline at end of file
 
Exécution terminée


 
Qui est la commande racine carrée trouvé sur le net :

Citation :

int hypotenuse;  
  hypotenuse = double sqrt(double Cote1)


 
Voila si vs avez des idées...  
 
Merci d'avance  :hello:


Message édité par Infosactualite le 07-12-2004 à 14:36:31
mood
Publicité
Posté le 07-12-2004 à 14:01:17  profilanswer
 

n°916978
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 14:05:23  profilanswer
 

hypotenuse = double sqrt(double Cote1)
 
T'as pas l'impression qu'il y a comme un problème ?

n°916979
Infosactua​lite
Macintosh vs. Windows
Posté le 07-12-2004 à 14:06:42  profilanswer
 

boulax a écrit :

hypotenuse = double sqrt(double Cote1)
 
T'as pas l'impression qu'il y a comme un problème ?


Héééé bennnn non  :(  
 
En fait je suis un n00b faut pas m'en vouloir  :(
 
EDIT : Le ; ?


Message édité par Infosactualite le 07-12-2004 à 14:09:54
n°916988
fb@alphalo​g
Posté le 07-12-2004 à 14:13:16  profilanswer
 

enleves les "double"  
ils servent a declarer le type de variables
 
si tu veux faire un cast ( passer d'un type a un autre) il faut mettre (double) au lieu de double


Message édité par fb@alphalog le 07-12-2004 à 14:13:27
n°916990
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 14:14:28  profilanswer
 

oui aussi, mais l'a tu veux utiliser la fonction, et là tu l'ecris comme tu l'a vue dans la doc... avec sa définition...
 
donc:
 
hypotenuse = sqrt(Cote1)
 
avec hypotenuse et Cote1 des Double (comme le mentionne la signature de la fonction sqrt)

n°916992
Lam's
Profil: bas.
Posté le 07-12-2004 à 14:16:23  profilanswer
 

boulax a écrit :


hypotenuse = sqrt(Cote1)
 


et le point virgule, c'est en option ?

n°916995
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 14:17:15  profilanswer
 

Lam's a écrit :

et le point virgule, c'est en option ?


....
 
oui

n°917005
Infosactua​lite
Macintosh vs. Windows
Posté le 07-12-2004 à 14:22:14  profilanswer
 

Ok merci a tous vous etes vriament fort !
 
J'ai essayé ca :
 

Citation :

Compilateur: Default compiler
Exécution de  g++.exe...
g++.exe "C:\Downloads\SansNom1.cpp" -o "C:\Downloads\SansNom1.exe"   -g3  -I"C:\Dev-Cpp\include\c++\3.3.1"  -I"C:\Dev-Cpp\include\c++\3.3.1\mingw32"  -I"C:\Dev-Cpp\include\c++\3.3.1\backward"  -I"C:\Dev-Cpp\lib\gcc-lib\mingw32\3.3.1\include"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -g3  
C:/Downloads/SansNom1.cpp: In function `int main(int, char**)':
C:/Downloads/SansNom1.cpp:19: error: `sqtr' undeclared (first use this  
   function)
C:/Downloads/SansNom1.cpp:19: error: (Each undeclared identifier is reported  
   only once for each function it appears in.)
C:/Downloads/SansNom1.cpp:21: error: syntax error before `<<' token
 
C:/Downloads/SansNom1.cpp:25:2: warning: no newline at end of file
 
Exécution terminée


Message édité par Infosactualite le 07-12-2004 à 14:23:00
n°917011
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 14:28:03  profilanswer
 

Citation :

C:/Downloads/SansNom1.cpp:19: error:  `sqtr' undeclared (first use this  
   function)  


 
Oui bon lis les messages d'erreur stp.

n°917014
Moktar1er
No one replies...
Posté le 07-12-2004 à 14:30:42  profilanswer
 

euh... c'est du C ou du C++ ton truc là :??:
parceque les cout cin en C hein... [:kiki]

mood
Publicité
Posté le 07-12-2004 à 14:30:42  profilanswer
 

n°917018
Infosactua​lite
Macintosh vs. Windows
Posté le 07-12-2004 à 14:35:29  profilanswer
 

Oui j'ai vu après que j'avais mal tapé !!! :/
 
Voila, plus qu'une erreur :
 

Citation :


Compilateur: Default compiler
Exécution de  g++.exe...
g++.exe "C:\Downloads\SansNom1.cpp" -o "C:\Downloads\SansNom1.exe"   -g3  -I"C:\Dev-Cpp\include\c++\3.3.1"  -I"C:\Dev-Cpp\include\c++\3.3.1\mingw32"  -I"C:\Dev-Cpp\include\c++\3.3.1\backward"  -I"C:\Dev-Cpp\lib\gcc-lib\mingw32\3.3.1\include"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -g3  
C:/Downloads/SansNom1.cpp: In function `int main(int, char**)':
C:/Downloads/SansNom1.cpp:23: error: syntax error before `=' token
 
C:/Downloads/SansNom1.cpp:29:2: warning: no newline at end of file
 
Exécution terminée
 
C:/Downloads/SansNom1.cpp:29:2:{


Message édité par Infosactualite le 07-12-2004 à 14:35:58
n°917020
Infosactua​lite
Macintosh vs. Windows
Posté le 07-12-2004 à 14:36:19  profilanswer
 

moktar1er a écrit :

euh... c'est du C ou du C++ ton truc là :??:
parceque les cout cin en C hein... [:kiki]

Du C++ tu as vu juste, je déplace

n°917021
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 14:36:33  profilanswer
 

reposte ton code stp.

n°917022
Infosactua​lite
Macintosh vs. Windows
Posté le 07-12-2004 à 14:37:12  profilanswer
 

boulax a écrit :

reposte ton code stp.


 
Voila :
 

Code :
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <math.h>
  5. using namespace std;
  6. int main(int nNumberofArgs, char* pszArgs[])
  7. {
  8.   int Cote1;
  9.   cout << "Entrez la taille du premier cote formant l'angle droit du triangle: ";
  10.   cin >> Cote1;
  11.  
  12.   int Cote2;
  13.   cout << "Entrez la taille du deuxieme cote formant l'angle droit du triangle: ";
  14.   cin >> Cote2;
  15.  
  16.   int hypotenuse;
  17.   hypotenuse = Cote1 * Cote1 + Cote2 * Cote2;
  18.   cin >> hypotenuse;
  19.  
  20.   int calcul
  21.   calcul = sqrt(hypotenuse);
  22.    
  23.   cout << calcul << endl;
  24.   system("PAUSE" );
  25.   return 0; 
  26. }

n°917024
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 14:37:56  profilanswer
 

un ";" qui manque

n°917025
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2004 à 14:38:46  profilanswer
 

sqrt demande du double en paramètre et sort du double...
 
tu lui files un int et t'essaies de mettre le résultat dans un int, tu penses pas que tu risques d'avoir un léger problème?

(et je crois qu'il veut un retour à la ligne après la fin du main, ton compilo)


Message édité par masklinn le 07-12-2004 à 14:40:19

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°917027
Infosactua​lite
Macintosh vs. Windows
Posté le 07-12-2004 à 14:39:25  profilanswer
 

boulax a écrit :

un ";" qui manque


Oui, a priori mon compilateur rejette mon code s'il manque des ;
 
Nouveaux mess. d'erreur avec la commande sqrt :
 

Citation :

Compilateur: Default compiler
Exécution de  g++.exe...
g++.exe "C:\Downloads\SansNom1.cpp" -o "C:\Downloads\SansNom1.exe"   -g3  -I"C:\Dev-Cpp\include\c++\3.3.1"  -I"C:\Dev-Cpp\include\c++\3.3.1\mingw32"  -I"C:\Dev-Cpp\include\c++\3.3.1\backward"  -I"C:\Dev-Cpp\lib\gcc-lib\mingw32\3.3.1\include"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -g3  
C:/Downloads/SansNom1.cpp: In function `int main(int, char**)':
C:/Downloads/SansNom1.cpp:23: error: call of overloaded `sqrt(int& )' is  
   ambiguous
C:/Dev-Cpp/include/math.h:151: error: candidates are: double sqrt(double)
C:/Dev-Cpp/include/c++/3.3.1/cmath:550: error:                 long double  
   std::sqrt(long double)
C:/Dev-Cpp/include/c++/3.3.1/cmath:546: error:                 float  
   std::sqrt(float)
 
C:/Downloads/SansNom1.cpp:29:2: warning: no newline at end of file
 
Exécution terminée

n°917028
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 14:39:51  profilanswer
 

Ah oui tiens, en plus je lui avais déjà dit.

n°917030
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 14:40:20  profilanswer
 

Infosactualite a écrit :

Oui, a priori mon compilateur rejette mon code s'il manque des ;


 
[:quoted]

n°917035
bjone
Insert booze to continue
Posté le 07-12-2004 à 14:45:08  profilanswer
 

float ou double partout à la place des int.
 

n°917037
Joel F
Real men use unique_ptr
Posté le 07-12-2004 à 14:46:48  profilanswer
 

Mais vous apprenez quoi en écolé maintenant ???
 

Code :
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. int main(int, char** )
  5. {
  6.   double Cote1;
  7.   cout << "Entrez la taille du premier cote formant l'angle droit du triangle: ";
  8.   cin >> Cote1;
  9.  
  10.   double Cote2;
  11.   cout << "Entrez la taille du deuxieme cote formant l'angle droit du triangle: ";
  12.   cin >> Cote2;
  13.  
  14.   double hypotenuse;
  15.   hypotenuse = Cote1 * Cote1 + Cote2 * Cote2;
  16.   cin >> hypotenuse;
  17.  
  18.   double calcul;
  19.   calcul = sqrt(hypotenuse);
  20.    
  21.   cout << calcul << endl;
  22.   system("PAUSE" );
  23.   return 0; 
  24. }


Message édité par Joel F le 07-12-2004 à 15:10:50
n°917046
push
/dev/random
Posté le 07-12-2004 à 14:54:11  profilanswer
 

encore des erreurs ligne 6 et 21  :whistle:

n°917050
Lam's
Profil: bas.
Posté le 07-12-2004 à 14:56:14  profilanswer
 

et il manque pas un "using std::sqrt;" ?  
 
Enfin bref, c'est vraiment un forum de noobs ici. :D

n°917066
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2004 à 15:05:30  profilanswer
 

Lam's a écrit :

et il manque pas un "using std::sqrt;" ?  
 
Enfin bref, c'est vraiment un forum de noobs ici. :D


ben il use le namespace std là non [:gratgrat]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°917069
Lam's
Profil: bas.
Posté le 07-12-2004 à 15:07:27  profilanswer
 

Ah merde, faux que j'aille me chercher un café moi. A force de trainer ici, je devient un noob.

n°917070
bjone
Insert booze to continue
Posté le 07-12-2004 à 15:07:50  profilanswer
 

use namespace::patator::boost::tesdents;

n°917075
Joel F
Real men use unique_ptr
Posté le 07-12-2004 à 15:11:01  profilanswer
 

push a écrit :

encore des erreurs ligne 6 et 21  :whistle:


 
quelle erreur ligne 6 o_O ?

n°917080
gilou
Modérateur
Modosaurus Rex
Posté le 07-12-2004 à 15:13:03  profilanswer
 

Déja, vu qu'il utilise pas les arguments de la ligne de commande, un "int main( )" s'impose.
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°917083
gilou
Modérateur
Modosaurus Rex
Posté le 07-12-2004 à 15:15:46  profilanswer
 

Ensuite, a la lecture de son programme, la ligne
  cin >> hypotenuse;  
n'a manifestement rien a foutre là, et provient d'un copier-coller du sans doute a un reflexe crispatoire muloïde.
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°917084
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2004 à 15:16:08  profilanswer
 

Lam's a écrit :

Ah merde, faux que j'aille me chercher un café moi. A force de trainer ici, je devient un noob.


 [:forummp3]  

Joel F a écrit :

quelle erreur ligne 6 o_O ?


Il veut sûrement que tu ajoutes argc et argv (c'est optionnel?)

gilou a écrit :

Déja, vu qu'il utilise pas les arguments de la ligne de commande, un "int main( )" s'impose.
A+,


remplacer int main(int argc, char ** argv)
par int main()?
 
 :sweat:


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°917088
gilou
Modérateur
Modosaurus Rex
Posté le 07-12-2004 à 15:17:23  profilanswer
 

Citation :

remplacer int main(int argc, char ** argv)  
par int main()?

 
Tout a fait.
Si on ne se sert pas des arguments de la ligne de commande, c'est pas la peine de les introduires.
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°917093
push
/dev/random
Posté le 07-12-2004 à 15:18:18  profilanswer
 

ligne 18 suivit de 19 c'est pas un peu incohérent ?  :whistle:

n°917096
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2004 à 15:19:13  profilanswer
 

gilou a écrit :

Citation :

remplacer int main(int argc, char ** argv)  
par int main()?

 
Tout a fait.
Si on ne se sert pas des arguments de la ligne de commande, c'est pas la peine de les introduires.
A+,


Tous les compilos acceptent? [:gratgrat]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°917097
boulax
Inserer phrase hype en anglais
Posté le 07-12-2004 à 15:20:20  profilanswer
 

Masklinn a écrit :

Tous les compilos acceptent? [:gratgrat]


seulement ceux qui exigent des ";" à la fin de chaque instruction [:ddr555]


Message édité par boulax le 07-12-2004 à 15:20:29
n°917099
gilou
Modérateur
Modosaurus Rex
Posté le 07-12-2004 à 15:21:55  profilanswer
 

boulax a écrit :

seulement ceux qui exigent des ";" à la fin de chaque instruction [:ddr555]

[:_olivier_]  
C'est int main(int argc, char *argv[], char *envp[]) qui n'est pas necessairement accepté je crois.
Mais int main() et int main(int argc, char *argv[]) devraient etre acceptes par tout compilo C++ il me semble.
A+,


Message édité par gilou le 07-12-2004 à 15:23:15

---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°917102
push
/dev/random
Posté le 07-12-2004 à 15:22:50  profilanswer
 

Masklinn a écrit :

Tous les compilos acceptent? [:gratgrat]


 
bein oui pq il accepterait pas ? on peut aussi déclarer plein d'autres choses qui ne servent à rien dans le même genre si tu veux  :D

n°917103
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2004 à 15:23:10  profilanswer
 


ok [:spamafote]  
je dois avouer que j'ai du mal à voir l'intérêt profond de ne pas les mettre (sauf une ultraoptimisation mémoire pour gagner quelques octets de ram bien sûr), mais merci
 

push a écrit :

bein oui pq il accepterait pas ? on peut aussi déclarer plein d'autres choses qui ne servent à rien dans le même genre si tu veux  :D


Sauf que là le principe est de ne pas déclarer les trucs qui ne servent à rien [:cupra]
(et il pourrait ne pas accepter parce que le proto de la fonction main serait unique [:spamafote] )
 
PS: merci pour le enpv gilou, encore appris un truc moi [:figti]


Message édité par masklinn le 07-12-2004 à 15:25:37

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°917107
gilou
Modérateur
Modosaurus Rex
Posté le 07-12-2004 à 15:25:06  profilanswer
 

Masklinn a écrit :

ok [:spamafote]  
je dois avouer que j'ai du mal à voir l'intérêt profond de ne pas les mettre (sauf une ultraoptimisation mémoire pour gagner quelques octets de ram bien sûr), m

L'interet c'est de ne pas introduire inutilement de variables inutilisées.
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
n°917108
bjone
Insert booze to continue
Posté le 07-12-2004 à 15:25:27  profilanswer
 

un truc qui s'apelle la lisibilitée, par exemple.

n°917117
Joel F
Real men use unique_ptr
Posté le 07-12-2004 à 15:31:48  profilanswer
 

int main(int,char**) est une prototype de main valide en C++ :o

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Racine carrée en C++

 

Sujets relatifs
Peut on créer un dossier racine pour faire un site offline ?pourquoi la racine fait jamais comme les autres ? [TreeView] [resolu ]
Config IIS : Erreur 405 sur le POST à la racine d'un rep.[HTACCESS] Simuler la racine du site a partir d'un sous-rep. ??
créarion d'un répertoire & sauvegarde de fichier à la racineEasy PHP : comment devier la racine...
Simplification racine carre?[Easyphp/Apache] Comment modifier le répertoire de la racine
[HTML/CSS] URL racine[servlet/jsp] récuérer le chemin réel de la racine d'une web-app
Plus de sujets relatifs à : Racine carrée en C++


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)