diff --git a/TP2/E1-1.c b/TP2/E1-1.c new file mode 100644 index 0000000..33aa6e6 --- /dev/null +++ b/TP2/E1-1.c @@ -0,0 +1,46 @@ +/* Cotés d'un triangle */ +#include + +int main() { + + double A, B, C; + + printf("Entrez la longueur du coté A : "); + scanf("%lf", &A); + if (A <= 0) { + printf("La longueur d'un coté doit être strictement supérieure à 0.\n"); + return 0; + } + printf("Entrez la longueur du coté B : "); + scanf("%lf", &B); + if (B <= 0) { + printf("La longueur d'un coté doit être strictement supérieure à 0.\n"); + return 0; + } + printf("Entrez la longueur du coté C : "); + scanf("%lf", &C); + if (C <= 0) { + printf("La longueur d'un coté doit être strictement supérieure à 0.\n"); + return 0; + } + + if (!(A < B + C && B < A + C && C < A + B)) { + printf("Ceci ne correspond pas à un triangle.\n"); + return 2; + } + + printf("Le périmètre du triangle est %lf.\n", A + B + C); + + if (A == B && B == C) { + printf("Ce triangle est équilatéral.\n"); + } else if (A == B || A == C || B == C) { + printf("Ce triangle est isocèle.\n"); + } else if (A*A == B*B + C*C || B*B == A*A + C*C || C*C == A*A + B*B) { + printf("Ce triangle est rectangle.\n"); + } else { + printf("Ce triangle est quelconque.\n"); + } + + + return 0; +} diff --git a/TP2/E1-3.c b/TP2/E1-3.c new file mode 100644 index 0000000..5f0addc --- /dev/null +++ b/TP2/E1-3.c @@ -0,0 +1,24 @@ +/* Triangles pythagoriques */ +#include +#include + +int main() { + + long double h, a = 0; + long unsigned int n, i = 0; + + printf("Combien de triplets remarquables voulez-vous ? "); + scanf("%u", &n); + + do { + a++; + h = sqrt(2*pow(a, 2) + 2*a + 1); + if (h - (int) h == 0) { // Si h est un entier + printf("(%llf, %llf, %llf)\n", a, a+1, h); + i++; + } + + } while (i < n); + + return 0; +} diff --git a/TP2/Makefile b/TP2/Makefile new file mode 100644 index 0000000..0a9a19b --- /dev/null +++ b/TP2/Makefile @@ -0,0 +1,15 @@ +all: $(subst c,exe,$(shell ls *.c)) + +E1-1.exe: E1-1.c + gcc E1-1.c -o E1-1.exe + +E1-3.exe: E1-3.c + gcc E1-3.c -o E1-3.exe -lm + +E2.exe: E2.c + gcc E2.c -o E2.exe + +.PHONY: all clean + +clean: + rm *.exe