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
| class Tableau{
private:
double *tab;
Tableau *prec;
public:
static long nblignes;
static Tableau* GetPrec(Tableau*);
void SetPrec(Tableau*);
Tableau(double);
static double *GetTab(Tableau*);
static void FilTab(Tableau*,long,double);
};
long Tableau::nblignes=0;
Tableau::Tableau(double name){
//Constructeur
double *Ttab=new double[Max_size+1];
Ttab[0]=name;
for(long i=1;i<=Max_size;i++){
Ttab[i]=0;
}
this->tab=Ttab;
}
double* Tableau::GetTab(Tableau* rang){
//permet d'obtenir la ligne correspondant au rang
return rang->tab;
}
void Tableau::SetPrec(Tableau* rang){
//permet de fixer la ligne précédente
this->prec=rang;
}
Tableau* Tableau::GetPrec(Tableau* rang){
//permet d'obtenir la ligne précédente
return rang->prec;
}
void Add_line(double name,Tableau **p){
Tableau *new_elements=new Tableau(name);//Création de la nouvelle ligne
(*p)->nblignes++;
new_elements->SetPrec(*p);
*p=new_elements;
}
double* Get_line(double quote,Tableau *p){
//Cherche la ligne correspondant à la quotatio
while(Tableau::GetTab(p)[0]!=quote){
p=Tableau::GetPrec(p);
}
return Tableau::GetTab(p);
}
void Tableau::FilTab(Tableau *rang,long k,double value){
//permet de remplir les cases du tableau correspondant a "rang"
rang->tab[k]=value;
}
int Tab_Exists(double name,Tableau *p){
long i=0;double o=0;int res;
Tableau *q=NULL;
q=p;
while((i<p->nblignes)&&(Tableau::GetTab(q)[0]==name)){ // q=p->prec;
q=Tableau::GetPrec(p);
i=i+1;
}
if(i<p->nblignes){
res=1;}
else
{res=0;}
return res;
}
double View(Tableau *p)
{ double *u=Tableau::GetTab(p);
return u[0];
} |
Partager