| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 
 |  
#include <iostream>
#include "exemple6.h"
#include <cmath>
#include <fstream>
using namespace std;
//Définition du constructeur de copie
vecteur::vecteur(const vecteur& ref): N(ref.N)
{
  v = new double[N];
  for(unsigned int i=0; i<N;i++)
    v[i]=ref.v[i];
}
 
//Définition du constructeur avec argument
vecteur::vecteur(int Nb, double val)
{
   N = Nb;
   if (Nb == 0)
      v = NULL; 
   else
   {
      v = new double[N];
      for (unsigned i=0; i<N; i++)
         v[i] = val;
   }
}
 
//Définition du destructeur
vecteur::~vecteur()
{}
 
//Définition de []
double& vecteur::operator[](int rang)
{
  return v[rang]; 
}
 
//Définition de =
 
vecteur &vecteur::operator=(const vecteur &a)
{
  for(int i=0;i<N;i++)
    {
      v[i]=a.v[i];
    }
return *this;
}
 
 
//Définition de +
vecteur vecteur:: operator + (const vecteur &a)
{
vecteur d(N);
for (int i=0;i<N;i++)
d.v[i]=v[i]+a.v[i];
return d;
}
 
//Définition de *
vecteur vecteur:: operator*(double  d)
{
for(int i=0;i<N;i++)
v[i]=d*v[i];
return *this;
}
 
//Déclaration de la fonction affiche
void vecteur::affiche()
{
//cout<<"les coordonnées du vecteurs v sont"<<endl;
for(int i=0;i<N;i++)
{
cout<<v[i]<<endl;
}
cout<< "---fin---"<<endl;
}
 
 
//Définition de la fonction décalée à gauche
vecteur vecteur:: decg(const vecteur &C)
{
v[0]=C.v[N-1];
for(int i=1;i<N;i++)
v[i]=C.v[i-1];
return *this;
}
 
 
//Définition de la fonction krw
double krw(double s)
{
return pow(s,2);
}
 
//Définition de la fonction kro
double kro(double s)
{
return pow((1-s),2);
}
 
//Définition de la fonction fw
 
double f (double s, double u, double v)
{
return (krw(s)/u)/((krw(s)/u)+ (kro(s)/v));
}
 
 
main()
{
int N=2;
int M=2;
vecteur S(N);
S[0]=1;
vecteur San(N);
San[0]=1;
double uw=1;
double uo=1;
 
for (int n=0; n < M; n++)
{
for (int i=1; i<N; i++)
S[i]= San[i] - (f(San[i],1,1) - f(San[i-1],1,1));
San=S;
} | 
Partager