summaryrefslogtreecommitdiff
path: root/sem_3/Programm/TP2/ex1/itv.cpp
blob: 844d8595624bf184e7cbe5ddc5fa7ba956502847 (plain)
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
#include<iostream>
#include"itv.h"

float Itv::lenght () {
  return bornesup-borneinf;
}

void Itv::afficher () {
  std::cout<<"["<<borneinf<<","<<bornesup<<"]"<<std::endl;
}

bool Itv::appartient (float f) {
  return f<=bornesup && f>=borneinf;
}
Itv::Itv () {
  borneinf =0;
  bornesup = 0;
}
Itv::Itv(float a, float b) {
  bornesup = b;
  borneinf = a;
}
void Itv::modifborne (int i, float f) {
  if (i == 0 ) {
    borneinf = f;
  }
  else if ( i == 1) {
    bornesup = f;
  }
  else {
    std::cout<< "Borne invalide, le premier param doit valoir 0 ( pour borne inf) ou 1 ( pour borne sup)" << std::endl;
  }
}

float Itv::getborne (int i) {
  if (i == 0 ) {
    return borneinf;
  }
  else if ( i == 1) {
    return bornesup;
  }
  else {
    std::cout<< "Borne invalide, le premier param doit valoir 0 ( pour borne inf) ou 1 ( pour borne sup)" << std::endl;
    return 42;
  }
}

bool Itv::estegal ( Itv inter) {
  return getborne(0)==inter.getborne(0) && getborne(1) == inter.getborne(1);
}

bool Itv::estinclusstr ( Itv inter ) {
  return getborne(0) > inter.getborne(0) && getborne(1) < inter.getborne(1);
}

bool Itv::disjoint ( Itv inter) {
  return getborne(1) < inter.getborne(0) || getborne(0) > inter.getborne(1);
}

bool Itv::accole ( Itv inter) {
  return getborne(0) == inter.getborne(0) || getborne(0) == inter.getborne(1) || getborne(1) == inter.getborne(0)|| getborne(1) == inter.getborne(1);
}

bool Itv::imbrique ( Itv inter) {
  return !accole(inter) &&  !disjoint(inter) && !estinclusstr(inter) && !estegal(inter);
}

void Itv::translat ( float f) {
  borneinf += f;
  bornesup += f;
}