diff options
| author | Gaspard Coulet <gaspard.coulet@mines-ales.org> | 2021-04-28 23:05:53 +0200 |
|---|---|---|
| committer | Gaspard Coulet <gaspard.coulet@mines-ales.org> | 2021-04-28 23:05:53 +0200 |
| commit | 9fe033ea88c2f705ec18c232873d056e0c229d72 (patch) | |
| tree | 0647dc8c51610c7336c88c04de2068ea14b21e17 /sem_3/Programm/TP2 | |
Initial commit
Diffstat (limited to 'sem_3/Programm/TP2')
| -rw-r--r-- | sem_3/Programm/TP2/ex1/exo | bin | 0 -> 14053 bytes | |||
| -rw-r--r-- | sem_3/Programm/TP2/ex1/itv.cpp | 71 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/ex1/itv.h | 20 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/ex1/jeudelaviemine/cell.cpp | 43 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/ex1/jeudelaviemine/cell.h | 24 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/ex1/jeudelaviemine/main | bin | 0 -> 13975 bytes | |||
| -rw-r--r-- | sem_3/Programm/TP2/ex1/jeudelaviemine/main.cpp | 25 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/ex1/main.cpp | 12 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/ex1/makefile | 4 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/exo10/exo10.c | 19 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/exo10/main | bin | 0 -> 8551 bytes | |||
| -rw-r--r-- | sem_3/Programm/TP2/exo11/exo11.c | 23 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/exo11/main | bin | 0 -> 8651 bytes | |||
| -rw-r--r-- | sem_3/Programm/TP2/exo13/exo13.c | 0 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/exo13/impair.c | 5 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/exo13/impair.h | 1 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/exo13/pair.c | 4 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/exo13/pair.h | 1 | ||||
| -rw-r--r-- | sem_3/Programm/TP2/exo13/spair | bin | 0 -> 8695 bytes | |||
| -rw-r--r-- | sem_3/Programm/TP2/exo13/spair.c | 11 |
20 files changed, 263 insertions, 0 deletions
diff --git a/sem_3/Programm/TP2/ex1/exo b/sem_3/Programm/TP2/ex1/exo Binary files differnew file mode 100644 index 0000000..3c36d84 --- /dev/null +++ b/sem_3/Programm/TP2/ex1/exo 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 Binary files differnew file mode 100644 index 0000000..c076b3e --- /dev/null +++ b/sem_3/Programm/TP2/ex1/jeudelaviemine/main 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 Binary files differnew file mode 100644 index 0000000..a617d42 --- /dev/null +++ b/sem_3/Programm/TP2/exo10/main 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 Binary files differnew file mode 100644 index 0000000..3aeee19 --- /dev/null +++ b/sem_3/Programm/TP2/exo11/main 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 Binary files differnew file mode 100644 index 0000000..fe2dd14 --- /dev/null +++ b/sem_3/Programm/TP2/exo13/spair 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;
+}
|
