diff --git a/DEV1.1/CM1/exo1.c b/DEV1.1/CM1/exo1.c new file mode 100644 index 0000000..67fe02b --- /dev/null +++ b/DEV1.1/CM1/exo1.c @@ -0,0 +1,14 @@ +# include +# include + +int main(void) { + /* On peut écrire ces instructions en une seule ligne mais j'ai préféré + rappeler printf à chaque saut de ligne pour plus de lisibilité */ + printf(" __\n"); + printf("(___()'`;\n"); + printf("/, /`\n"); + printf("\\\\\"--\\\\\n"); + /* On doit utiliser un \ avant les \ et les " pour ne pas que le programme les voie comme des + instructions spécifiques ou un début/fin de chaîne de caractères */ + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/DEV1.1/CM1/exo2.c b/DEV1.1/CM1/exo2.c new file mode 100644 index 0000000..2d2719b --- /dev/null +++ b/DEV1.1/CM1/exo2.c @@ -0,0 +1,15 @@ +# include +# include + +int main(void) { + short int a = 7; + char b = 77; + double c = 777; + long int d = 7777; + + printf("%03hd\n", a); + printf("%c\n", b); + printf("%.0f\n", c); + printf("%lx\n", d); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/DEV1.1/CM1/exo3.c b/DEV1.1/CM1/exo3.c new file mode 100644 index 0000000..3cf44f8 --- /dev/null +++ b/DEV1.1/CM1/exo3.c @@ -0,0 +1,29 @@ +# include +# include + +int main(void) { + int lancer_1, lancer_2; + + printf("Entrez le premier dé : "); + scanf("%d", &lancer_1); + getchar(); /* Nécessaire pour retirer le \n stocké dans le tampon à l'instruction précédente */ + printf("Entrez le second dé : "); + scanf("%d", &lancer_2); + + if (lancer_1 == 1 && lancer_2 == 1) { + printf("Snake eyes"); + } + + else if (lancer_1 == 6 && lancer_2 == 6) { + printf("Boxcars"); + } + + else { + if (lancer_1 == lancer_2) { + printf("Hard ways"); + } + } + + putchar('\n'); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/DEV1.1/CM1/exo4.c b/DEV1.1/CM1/exo4.c new file mode 100644 index 0000000..1594a6a --- /dev/null +++ b/DEV1.1/CM1/exo4.c @@ -0,0 +1,28 @@ +# include +# include +# define NB_FACES 20 + +int main(void) { + int lancer_1, lancer_2; + /* Compte le diviseur de la future moyenne (ici 20*20), utile si jamais on modifie le nb de faces */ + int nb_combinaisons_possibles = 0; + int somme_meilleurs_lancers = 0; + + for (lancer_1 = 1; lancer_1 <= NB_FACES; lancer_1++) { + for (lancer_2 = 1; lancer_2 <= NB_FACES; lancer_2 ++) { + + if (lancer_1 >= lancer_2) { + somme_meilleurs_lancers += lancer_1; + } + + else { + somme_meilleurs_lancers += lancer_2; + } + + nb_combinaisons_possibles++; + } + } + + printf("Moyenne de tous les cas possibles pour %d faces : %d\n", NB_FACES, (somme_meilleurs_lancers / nb_combinaisons_possibles)); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/DEV1.1/CM1/exo5.c b/DEV1.1/CM1/exo5.c new file mode 100644 index 0000000..c6df449 --- /dev/null +++ b/DEV1.1/CM1/exo5.c @@ -0,0 +1,57 @@ +# include +# include +# define TAILLE_GRILLE 10 + + +int navires_encore_presents(int grille[][TAILLE_GRILLE], int len_grille) { + /* Renvoie 1 si des navires sont encore présents, faux sinon */ + int i; + int j; + for (i = 0; i != len_grille; i++) { + for (j = 0; j != len_grille; j++) { + if (grille[i][j] == 1) { + return 1; + } + } + } + return 0; +} + + +int main(void) { + /* Si un bateau est présent, la case vaut 1, sinon, elle vaut 0 */ + int grille[TAILLE_GRILLE][TAILLE_GRILLE] = { + {0,0,0,0,0,0,0,0,1,1}, + {0,1,0,0,0,0,0,0,0,0}, + {0,1,0,0,0,0,0,0,0,0}, + {0,1,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0,0}, + {0,1,1,1,1,0,0,0,0,1}, + {0,0,0,0,0,0,0,0,0,1}, + {0,0,0,0,0,0,0,0,0,1}, + }; + int tir_x, tir_y; + int nb_coups = 0; + + while (navires_encore_presents(grille, TAILLE_GRILLE) == 1) { + printf("Coordonnées ? "); + scanf("%d", &tir_x); + getchar(); + scanf("%d", &tir_y); + nb_coups++; + + if (grille[tir_x][tir_y] == 1) { + printf("Touché\n"); + grille[tir_x][tir_y] = 0; + } + + else { + printf("Dans l'eau\n"); + } + } + + printf("...\nPartie terminée en %d coups\n", nb_coups); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/DEV1.1/TP17/TP17_reponses.txt b/DEV1.1/TP17/TP17_reponses.txt new file mode 100644 index 0000000..4daf1d1 --- /dev/null +++ b/DEV1.1/TP17/TP17_reponses.txt @@ -0,0 +1,5 @@ +------ TP17 : Débogueur ------ + +1. On en déduit que la ligne qui a provoqué l'erreur est celle dans laquelle +se trouve le scanf. + diff --git a/DEV1.1/TP17/tests b/DEV1.1/TP17/tests new file mode 100755 index 0000000..274ff63 Binary files /dev/null and b/DEV1.1/TP17/tests differ diff --git a/DEV1.1/TP17/tests.c b/DEV1.1/TP17/tests.c new file mode 100644 index 0000000..697856c --- /dev/null +++ b/DEV1.1/TP17/tests.c @@ -0,0 +1,16 @@ +#include +#include + +int somme(int n, int m) { + return *n+*m; +} + +int main(void) { + int valeur; + int* p = NULL; + printf("Entrez un entier : "); + scanf("%d", p); + + printf("Le double vaut %d\n", somme(*p, *p)); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/DEV1.1/TP19/TP19_reponses.txt b/DEV1.1/TP19/TP19_reponses.txt new file mode 100644 index 0000000..cd2d54a --- /dev/null +++ b/DEV1.1/TP19/TP19_reponses.txt @@ -0,0 +1,4 @@ +------- TP19 : Allocation dynamique -------- + +1. + diff --git a/DEV1.1/TP19/tests.c b/DEV1.1/TP19/tests.c new file mode 100644 index 0000000..89a8b4b --- /dev/null +++ b/DEV1.1/TP19/tests.c @@ -0,0 +1,34 @@ +# include +# include + +int main(void) { + int taille_tab; + double* tab = (double*) malloc(3*sizeof(double)); + int i; + int j; + printf("Combien de réels souhaitez-vous entrer ? "); + scanf("%d", &taille_tab); + getchar(); + tab = (double*) realloc(tab, taille_tab*sizeof(double)); + for (i = 0; i != taille_tab; i++) { + printf("Entrez le %de réel : ", i + 1); + scanf("%lf", &tab[i]); + getchar(); + } + + for (i = 0; i != (taille_tab - 1); i++) { + for (j = i; j != taille_tab; j++) { + if (tab[i] == tab[j]) { + tab[j] = 0.0; + } + } + } + + for (i = 0; i != taille_tab; i++) { + if (tab[i] != 0.0) { + printf("%.3f ", tab[i]); + } + } + putchar('\n'); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/DEV1.1/simoes_CM1.tar.gz b/DEV1.1/simoes_CM1.tar.gz new file mode 100644 index 0000000..ddc0f8a Binary files /dev/null and b/DEV1.1/simoes_CM1.tar.gz differ