summaryrefslogtreecommitdiff
path: root/sem_3/Programm/TP2
diff options
context:
space:
mode:
Diffstat (limited to 'sem_3/Programm/TP2')
-rw-r--r--sem_3/Programm/TP2/ex1/exobin0 -> 14053 bytes
-rw-r--r--sem_3/Programm/TP2/ex1/itv.cpp71
-rw-r--r--sem_3/Programm/TP2/ex1/itv.h20
-rw-r--r--sem_3/Programm/TP2/ex1/jeudelaviemine/cell.cpp43
-rw-r--r--sem_3/Programm/TP2/ex1/jeudelaviemine/cell.h24
-rw-r--r--sem_3/Programm/TP2/ex1/jeudelaviemine/mainbin0 -> 13975 bytes
-rw-r--r--sem_3/Programm/TP2/ex1/jeudelaviemine/main.cpp25
-rw-r--r--sem_3/Programm/TP2/ex1/main.cpp12
-rw-r--r--sem_3/Programm/TP2/ex1/makefile4
-rw-r--r--sem_3/Programm/TP2/exo10/exo10.c19
-rw-r--r--sem_3/Programm/TP2/exo10/mainbin0 -> 8551 bytes
-rw-r--r--sem_3/Programm/TP2/exo11/exo11.c23
-rw-r--r--sem_3/Programm/TP2/exo11/mainbin0 -> 8651 bytes
-rw-r--r--sem_3/Programm/TP2/exo13/exo13.c0
-rw-r--r--sem_3/Programm/TP2/exo13/impair.c5
-rw-r--r--sem_3/Programm/TP2/exo13/impair.h1
-rw-r--r--sem_3/Programm/TP2/exo13/pair.c4
-rw-r--r--sem_3/Programm/TP2/exo13/pair.h1
-rw-r--r--sem_3/Programm/TP2/exo13/spairbin0 -> 8695 bytes
-rw-r--r--sem_3/Programm/TP2/exo13/spair.c11
20 files changed, 263 insertions, 0 deletions
diff --git a/sem_3/Programm/TP2/ex1/exo b/sem_3/Programm/TP2/ex1/exo
new file mode 100644
index 0000000..3c36d84
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/exo
Binary files differ
diff --git a/sem_3/Programm/TP2/ex1/itv.cpp b/sem_3/Programm/TP2/ex1/itv.cpp
new file mode 100644
index 0000000..844d859
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/itv.cpp
@@ -0,0 +1,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;
+}
diff --git a/sem_3/Programm/TP2/ex1/itv.h b/sem_3/Programm/TP2/ex1/itv.h
new file mode 100644
index 0000000..e8835cd
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/itv.h
@@ -0,0 +1,20 @@
+class Itv {
+ private :
+ float borneinf, bornesup;
+ public :
+ Itv();
+ Itv(float,float);
+ float lenght();
+ void afficher();
+ bool appartient(float);
+ void modifborne(int,float);
+ float getborne(int);
+
+ bool estegal (Itv);
+ bool estinclusstr(Itv);
+ bool disjoint(Itv);
+ bool accole(Itv);
+ bool imbrique(Itv);
+ void translat(float);
+
+};
diff --git a/sem_3/Programm/TP2/ex1/jeudelaviemine/cell.cpp b/sem_3/Programm/TP2/ex1/jeudelaviemine/cell.cpp
new file mode 100644
index 0000000..9c17eb7
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/jeudelaviemine/cell.cpp
@@ -0,0 +1,43 @@
+#include "cell.h"
+#include<iostream>
+
+void cell::setColor(color nouvelle){
+ couleur = nouvelle;
+}
+
+color cell::getColor(){
+ return couleur;
+}
+
+void cell::setVivante(bool a) {
+ statut = a;
+}
+int cell::getX () {
+ return x;
+}
+
+int cell::getY () {
+ return y;
+}
+bool cell::getVivante() {
+ return statut;
+}
+void cell::printcell () {
+ std::cout << "La cellule ( à l'adresse mémoire " << this << " ) = {" << (statut ? "vivante" : "morte")<<", " << x << "x"<<y <<"}"<<std::endl;
+}
+
+bool cell::estvoisineenVie (cell &cellule) {
+ if ( cellule.x == x + 1 || cellule.y == y + 1 || cellule.x == x - 1 || cellule.y == y - 1 ) {
+ if (cellule.statut) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+cell::cell ( int a, int b, bool c) {
+ x = a;
+ y = b;
+ statut = c;
+}
diff --git a/sem_3/Programm/TP2/ex1/jeudelaviemine/cell.h b/sem_3/Programm/TP2/ex1/jeudelaviemine/cell.h
new file mode 100644
index 0000000..93b841e
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/jeudelaviemine/cell.h
@@ -0,0 +1,24 @@
+enum color {
+ rouge,
+ vert,
+ noir,
+ jaune
+};
+
+class cell {
+private :
+ int x;
+ int y;
+ bool statut;
+ color couleur;
+public :
+ void setColor(color);
+ color getColor();
+ void setVivante (bool);
+ bool getVivante ();
+ int getX ();
+ int getY ();
+ void printcell () ;
+ cell(int,int,bool);
+ bool estvoisineenVie(cell&);
+};
diff --git a/sem_3/Programm/TP2/ex1/jeudelaviemine/main b/sem_3/Programm/TP2/ex1/jeudelaviemine/main
new file mode 100644
index 0000000..c076b3e
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/jeudelaviemine/main
Binary files differ
diff --git a/sem_3/Programm/TP2/ex1/jeudelaviemine/main.cpp b/sem_3/Programm/TP2/ex1/jeudelaviemine/main.cpp
new file mode 100644
index 0000000..02d6bcb
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/jeudelaviemine/main.cpp
@@ -0,0 +1,25 @@
+#include<iostream>
+#include"cell.h"
+
+bool cell_est_couleur(cell&, color);
+void test_cell ( cell&);
+int main ( int argc, char ** argv) {
+ cell cell1(1,2,true);
+ cell cell2(1,3,false);
+ std::cout<<"L'objet c1 est a l'adresse memoire" << &cell1<< std::endl;
+ std::cout<<"L'objet c2 est a l'adresse memoire" << &cell2<< std::endl;
+ test_cell(cell1);
+ test_cell(cell2);
+ std::cout<< (cell1.estvoisineenVie(cell2) ? "cell1 est voisine de cell2" : "cell1 n'est pas voisine de cell2")<<std::endl;
+ std::cout<< (cell2.estvoisineenVie(cell1) ? "cell2 est voisine de cell1" : "cell2 n'est pas voisine de cell1")<<std::endl;
+ return 0;
+}
+
+void test_cell ( cell &cellule) {
+ cellule.printcell();
+}
+
+bool cell_est_couleur ( cell &cellule, color couleur) {
+ color act = cellule.getColor;
+ return (couleur == act);
+}
diff --git a/sem_3/Programm/TP2/ex1/main.cpp b/sem_3/Programm/TP2/ex1/main.cpp
new file mode 100644
index 0000000..99a7321
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/main.cpp
@@ -0,0 +1,12 @@
+#include<iostream>
+#include"itv.h"
+
+int main () {
+ Itv inter1;
+ Itv inter2(0,24.4);
+ inter1.afficher();
+ inter2.afficher();
+ inter2.translat(0.5);
+ inter2.afficher();
+ return 0;
+}
diff --git a/sem_3/Programm/TP2/ex1/makefile b/sem_3/Programm/TP2/ex1/makefile
new file mode 100644
index 0000000..fa907f2
--- /dev/null
+++ b/sem_3/Programm/TP2/ex1/makefile
@@ -0,0 +1,4 @@
+CC = g++
+FLAGS = -Wall
+LIBS =
+
diff --git a/sem_3/Programm/TP2/exo10/exo10.c b/sem_3/Programm/TP2/exo10/exo10.c
new file mode 100644
index 0000000..fc2f92e
--- /dev/null
+++ b/sem_3/Programm/TP2/exo10/exo10.c
@@ -0,0 +1,19 @@
+#include <stdlib.h>
+#include <stdio.h>
+
+int puiss (int x, int y) {
+ return ( y == 0 ? 1 : x * ( puiss(x, y-1)));
+}
+
+int main ( int argc, char ** argv) {
+ int lg = 0; int ret =0;
+ while (argv[1][lg]!=0) {
+ lg ++;
+ }
+ lg --;
+ for ( int i=lg; i >= 0; i --) {
+ ret += puiss(10,lg-i)*((int)(argv[1][i] )- 48);
+ }
+ printf("%d \n", ret);
+ return 0;
+}
diff --git a/sem_3/Programm/TP2/exo10/main b/sem_3/Programm/TP2/exo10/main
new file mode 100644
index 0000000..a617d42
--- /dev/null
+++ b/sem_3/Programm/TP2/exo10/main
Binary files differ
diff --git a/sem_3/Programm/TP2/exo11/exo11.c b/sem_3/Programm/TP2/exo11/exo11.c
new file mode 100644
index 0000000..e0567c2
--- /dev/null
+++ b/sem_3/Programm/TP2/exo11/exo11.c
@@ -0,0 +1,23 @@
+#include <stdlib.h>
+#include <stdio.h>
+
+int puiss (int x, int y) {
+ return ( y == 0 ? 1 : x * ( puiss(x, y-1)));
+}
+
+int main (int argc, char** argv) {
+ int ordre =1; int cp = atoi(argv[1]); int bc = cp;
+ while (cp / 10!= 0) {
+ ordre ++;
+ cp = cp /10;
+ }
+ printf("%d\n", ordre);
+ cp = bc;
+ char nbchar[ordre];
+ for ( int i = 0; i < ordre; i ++) {
+ nbchar[i] = cp / puiss(10, ordre -i-1) + 48;
+ cp = cp % puiss(10,ordre-i -1);
+ }
+ printf("%s\n", nbchar);
+ return 0;
+}
diff --git a/sem_3/Programm/TP2/exo11/main b/sem_3/Programm/TP2/exo11/main
new file mode 100644
index 0000000..3aeee19
--- /dev/null
+++ b/sem_3/Programm/TP2/exo11/main
Binary files differ
diff --git a/sem_3/Programm/TP2/exo13/exo13.c b/sem_3/Programm/TP2/exo13/exo13.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sem_3/Programm/TP2/exo13/exo13.c
diff --git a/sem_3/Programm/TP2/exo13/impair.c b/sem_3/Programm/TP2/exo13/impair.c
new file mode 100644
index 0000000..f61f5bc
--- /dev/null
+++ b/sem_3/Programm/TP2/exo13/impair.c
@@ -0,0 +1,5 @@
+#include "pair.h"
+
+int impair ( unsigned int i) {
+ return (i == 0 ? 0 : ( pair(i-1)));
+}
diff --git a/sem_3/Programm/TP2/exo13/impair.h b/sem_3/Programm/TP2/exo13/impair.h
new file mode 100644
index 0000000..196468b
--- /dev/null
+++ b/sem_3/Programm/TP2/exo13/impair.h
@@ -0,0 +1 @@
+int impair(unsigned int);
diff --git a/sem_3/Programm/TP2/exo13/pair.c b/sem_3/Programm/TP2/exo13/pair.c
new file mode 100644
index 0000000..05b9a0a
--- /dev/null
+++ b/sem_3/Programm/TP2/exo13/pair.c
@@ -0,0 +1,4 @@
+#include "impair.h"
+int pair(unsigned int i){
+ return (i == 0 ? 1 : impair(i-1));
+}
diff --git a/sem_3/Programm/TP2/exo13/pair.h b/sem_3/Programm/TP2/exo13/pair.h
new file mode 100644
index 0000000..2b5acab
--- /dev/null
+++ b/sem_3/Programm/TP2/exo13/pair.h
@@ -0,0 +1 @@
+int pair ( unsigned int );
diff --git a/sem_3/Programm/TP2/exo13/spair b/sem_3/Programm/TP2/exo13/spair
new file mode 100644
index 0000000..fe2dd14
--- /dev/null
+++ b/sem_3/Programm/TP2/exo13/spair
Binary files differ
diff --git a/sem_3/Programm/TP2/exo13/spair.c b/sem_3/Programm/TP2/exo13/spair.c
new file mode 100644
index 0000000..32fa224
--- /dev/null
+++ b/sem_3/Programm/TP2/exo13/spair.c
@@ -0,0 +1,11 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include "pair.h"
+#include "impair.h"
+
+int main ( int argc, char ** argv) {
+ int param = atoi(argv[1]);
+ if (pair(param)) printf("%d est pair\n", param);
+ else printf("%d est impair\n", param);
+ return 0;
+}