Aidez un débutan en C++ :( !

Fermé
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015 - Modifié par DevGl le 18/11/2014 à 15:07
Bonjour,

j'ai la question suivant dans un petit programme :

1) - introduire une fonction membres nommé norm permettant d'obtenir parmi deux vecteurs , celui qui a la grande norme , à l'aide de

--> Une transmission par valeur
voici ce que j'ai fait

// dans le fichier .h

#ifndef VECTEUR_H
#define VECTEUR_H


class vecteur
{
public:
vecteur(float c1=0.0 ,float c2=0.0,float c3=0.0){ x=c1 , y=c2 , z=c3;}

vecteur norme ( vecteur v2);

private:
float x;
float y;
float z;
};

#endif // VECTEUR_H



// dans le fichier .cpp

#include "vecteur.h"
using namespace std ;
#include <iostream>
#include<math.h>


vecteur vecteur::norme (vecteur v2){

float k2 = sqrt(((v2).x * (v2).x ) + ( (v2).y * (v2).y) + ((v2).z * (v2).z) );
float k1 = sqrt( (x*x ) + ( y*y) + (z*z) ) ;

if ( k2>k1) {
return v2;
}

else return (*this ) ;

}


//dans le main



#include "vecteur.h"
using namespace std;
#include <iostream>

int main()
{

vecteur v1(1,2,3);
vecteur v2(1,2,4);
cout << v1.norme(v2)<< endl;


return 0;
}




le but c'est de retourner le vecteur qui a le nom le plus grand
c'est pour cela que j'ai utiliser dans la fonction le type de retour vecteur .
mais j'ai un erreur dans le main :
exactement là : cout << v1.norme(v2)<< endl;

l'erreur c'est : no match for 'operator'<< in std::cout (&v1)->vecteur norm(v2)

corriger moi les fautes s'il vous plaait :( , ps : je suis débutant en C++
A voir également: