1 2 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