sevio14
Messages postés
15
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
3 mars 2011
10 mai 2010 à 23:24
Aider moi svp,voici le programme:
#include
#include "Tuples.h"
#include "Vecteur.h"
#include "Vecteur3d.h"
#include "matrice.h"
using namespace std;
int main()
{
double tab[]={5, 8, 12, 13, 45};
//cout << sizeof(tab)/sizeof(double);
Tuples v(5, tab);
Tuples a(5, 3);
Tuples b(5, 8);
b.initialiser_hasard(100);
a=b;
cout << "a " << a << "b " << b;
// a[2]=7;
Matrice m(2, 4), nn(9);
m.afficher(cout);
nn.afficher(cout);
cout << a << b << v;
Vecteur vb(b);
cout << endl << vb;
Vecteur vv;
Vecteur w(9, 2);
a.ajouter(b);
cout << a ;
Tuples c = somme(a , b);
Tuples d = a + b ;
cout << endl << "somme tuples" << c << d;
Vecteur s = somme(w, w);
cout << endl << s;
cout << " Hello world!" << endl;
return 0;
}
#include "tuples.h"
ostream & operator<<(ostream & os, Tuples & tu){
tu.afficher(os);
return os;
}
Tuples::Tuples()
{
allouer(3,0);
}
Tuples::Tuples(int n, double* tableau){
this->n = n;
vector<double> temp(n);
for(int i=0;i<n;i++)
temp[i]=tableau[i];
elements=temp;
}
Tuples::Tuples(int n){
allouer(n,0);
}
Tuples::Tuples(int n, double a){
allouer(n,a);
}
void Tuples::initialiser_hasard(int k){
for(int i=0 ; i < n; i++){
elements[i]=rand()%k;
}
}
void Tuples::allouer(int _n, double a){
n=_n;
vector <double> temp(n,a);
elements=temp;
}
void Tuples::afficher(ostream & os){
os << "[";
for(int i=0 ; i<n; i++)
os << elements[i] << " ";
os <<"]";
}
double & Tuples::operator[](const int i){
return elements[i];
}
void Tuples::ajouter(Tuples tu){
elements[0]=elements[0]+tu[0];
}
Tuples somme(Tuples & a, Tuples & b){
Tuples res(a.getN());
res[0]=a[0]+b[0];
return res;
}
Tuples operator+(Tuples & a, Tuples & b){
return somme(a, b);
}
Tuples::~Tuples()
{
//dtor
}
#ifndef TUPLES_H
#define TUPLES_H
#include
#include <vector>
#include <stdlib.h>
using namespace std;
class hasard{
static int generer(int a){return rand()%a;}
};
class Tuples
{
public:
Tuples();
Tuples(int n, double tableau[]);
Tuples(int n);
Tuples(int n, double a);
int getN(){return n;};
void initialiser_hasard(int);
virtual void afficher(ostream &);
double & operator[](const int i);
void ajouter(Tuples tu);
virtual ~Tuples();
protected:
int n;
vector<double> elements;
friend Tuples somme(Tuples & a, Tuples & b);
friend Tuples operator+(Tuples & a, Tuples & b);
private:
void allouer(int n, double a);
};
ostream & operator<<(ostream &os, Tuples & tu);
#endif // TUPLES_H
#include "vecteur.h"
Vecteur::Vecteur():Tuples()
{
//ctor
}
Vecteur::~Vecteur()
{
//dtor
}
void Vecteur::afficher(ostream & os){
os << "[vecteur ";
Tuples::afficher(os);
os << "]";
}
double & Vecteur::operator[](const int i){
return elements[i];
}
#include "vecteur.h"
Vecteur::Vecteur():Tuples()
{
//ctor
}
Vecteur::~Vecteur()
{
//dtor
}
void Vecteur::afficher(ostream & os){
os << "[vecteur ";
Tuples::afficher(os);
os << "]";
}
double & Vecteur::operator[](const int i){
return elements[i];
}
#ifndef VECTEUR_H
#define VECTEUR_H
#include "tuples.h"
class Vecteur : public Tuples
{
public:
Vecteur();
Vecteur(Tuples tu):Tuples(tu){};
Vecteur(int n):Tuples(n){};
Vecteur(int n, double a):Tuples(n, a){};
double & Vecteur::operator[](const int i);
virtual ~Vecteur();
virtual void afficher(ostream &);
protected:
private:
};
#endif // VECTEUR_H
#include "matrice.h"
Matrice::Matrice(int lig, int col){
initialiser(lig, col, 0);
}
Matrice::Matrice(int lig, int col,double a){
initialiser(lig, col, a);
}
Matrice::Matrice(int lig){
initialiser(lig, lig,0);
}
Matrice::Matrice(){
initialiser(3, 3, 0);
}
void Matrice::initialiser(int lig, int col, double a){
// creer un veceteur ligne dont les elements sont des tuples
nl=lig;
nc=col;
vector<Vecteur>temp(lig, Vecteur(col,a));
lignes=temp;
}
void Matrice::afficher(ostream & os){
os <<"[matrice "<<endl ;
for(int i=0;i<nl;i++)
os << lignes[0]<<endl;
os<<"]";
// completer
}
#ifndef MATRICE_H_INCLUDED
#define MATRICE_H_INCLUDED
#include "vecteur.h"
class Matrice{
protected:
int nl;
int nc;
vector<Vecteur> lignes;
public:
Matrice(int nl, int nc);
Matrice(int nl, int nc, double a);
Matrice(int nl);
Matrice();
Vecteur & get(int i){
return lignes[i];
}
Vecteur & operator[](const int i){
return lignes[i];
}
void initialiser(int, int, double);
void afficher(ostream & os);
};
#endif // MATRICE_H_INCLUDED