Chargement en cours...
Connexion au forum informatique de Sur-la-Toile
La discussion « puissances » se trouve dans le forum « Programmation »
Statut de la discussion » puissances « ( résolue)

puissances

» Liste des Forums » Programmation » Discussion

Le  7 février à 15:35 #

Bonjour,

dans le programme ci dessous le debuger me signale l'erreur suivante:
invalid operands of types `float' and `int' to binary `operator^'

--------------------------
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
float xo,yo,x,y,r;
scanf("%f%f%f%f",&xo,&yo,&x,&y);
r=((xo-x)*(xo-x)+(yo-y)*(yo-y))^(1/2);
printf("%2f",r);
getchar();
getchar();
}
-----------------------------
comment je peux m'en sortir svp?
Merci d'avance

Le  7 février à 18:10 #

salut

je suis pas spécialiste en c, mais je vois plusieurs choses
- à courte vue, ton problème vient de 1/2; pour c++, 1/2 = 0 car il fait une division entière. Donc, remplace par 1./2.
- ensuite, ça m'étonnerait que tu puisses prendre une puissance via ^; je pencherais plutôt pour une fonction interne, du type pow. D'ailleurs, ^ semble servir à manipuler les bits (cf. message d'erreur)
- plutôt que d'utiliser une puissance 1/2, je te conseille très vivement la fonction interne math sqrt

bref, je te conseille de charger la librairie math du c++ et de te renseigner sur sqrt.


j'espère t'avoir aidé

(Modifié par Ludovic889 le 07-02-2008 à 18:11)

Ajout du 07-02-2008 à 18:13:

re-salut

un exemple
Code:
  1.   /* sqrt example */
  2.   #include <stdio.h>
  3.   #include <math.h>
  4.   
  5.   int main ()
  6.   {
  7.    double param, result;
  8.    param = 1024.0;
  9.    result = sqrt (param);
  10.    printf ("sqrt(%lf) = %lf\n", param, result );
  11.    return 0;
  12.   }



    ici
    » Liste des Forums » Programmation




    Sujets Connexes

    Arakien & WéWé


    Forums

    Navigation


    Publicité

    Connectés

    Il y a actuellement 446 visiteurs et 21 toiliens en ligne, ainsi que 4 connectés sur le tchat.

    Recherche

    Concours


    Sauf mention contraire, le contenu du blog et du forum est sous licence Creative Commons By-Sa. Vous avez le droit de le reproduire à condition de citer l'auteur, de faire un lien vers la page d'origine, et de partager vos travaux dérivés selon les mêmes conditions.

    Conditions d'utilisation -

    Partenaires: [Informatique Multimédia] [Portail du Maroc] [Actualité High Tech]
    [Tutoriaux Photoshop] [éligibilité ADSL] [Astuces Windows]

    Page générée en 182 millisecondes sur WWW1.