From 7d319d2d6af8b75d6927999a81a616426c490f42 Mon Sep 17 00:00:00 2001 From: Simoes Lukas Date: Sun, 6 Oct 2024 17:22:04 +0200 Subject: [PATCH] Fin TP 14 --- DEV1.1/TP13/TP13_reponses.txt | 34 ++++++++++++---- DEV1.1/TP13/tests.c | 77 +++++++++++++++++++++++++---------- DEV1.1/TP14/TP14_reponses.txt | 57 ++++++++++++++++++++++++++ DEV1.1/TP14/tests.c | 9 ++++ 4 files changed, 147 insertions(+), 30 deletions(-) create mode 100644 DEV1.1/TP14/TP14_reponses.txt create mode 100644 DEV1.1/TP14/tests.c diff --git a/DEV1.1/TP13/TP13_reponses.txt b/DEV1.1/TP13/TP13_reponses.txt index 82c16c7..c9e10f0 100644 --- a/DEV1.1/TP13/TP13_reponses.txt +++ b/DEV1.1/TP13/TP13_reponses.txt @@ -112,7 +112,6 @@ int main(void) { int i; int j; int k; - int nb_lignes; /* t1 */ for (i = 0; i != 2; i++) { for (j = 0; j != 5; j++) { @@ -139,19 +138,38 @@ int main(void) { } } /* Affichage des tableaux */ - nb_lignes = 2 - for (i = 0; i != 3; i++) { - for (j = 0; j != 5; j++) { - for (k = 0; k != 2; k++) { - /* TO DO */ + for (j = 0; j != 5; j++) { + for (i = 0; i != 17; i++) { + if (i < 5) { + if (j >= 2) { + printf(" "); + } + else { + printf("%.2d ", t1[j][i]); + } + } + /* BAKA */ + else if (i == 5 | i == 11) { + printf(" "); + } + else if (i > 5 && i < 11) { + if (j >= 3) { + printf(" "); + } + else { + printf("%.2d ", t2[j][i-6]); + } + } + else { + printf("%.2d ", t3[j][i-12]); } } - } + printf("\n"); + } return EXIT_SUCCESS; } - 3. # include diff --git a/DEV1.1/TP13/tests.c b/DEV1.1/TP13/tests.c index c0aa7af..4dd9977 100644 --- a/DEV1.1/TP13/tests.c +++ b/DEV1.1/TP13/tests.c @@ -1,37 +1,70 @@ # include # include -# define HAUTEUR 30 int main(void) { - int t[HAUTEUR][HAUTEUR]; - /* Création du triangle de Pascal */ + /* Déclaration des tableaux */ + int t1[2][5]; + int t2[3][5]; + int t3[5][5]; + int compteur; + /* Remplissage des tableaux */ + int i; + int j; int k; - int n; - for (k = 0; k != HAUTEUR; k++) { - for (n = 0; n != HAUTEUR; n++) { - if (k == n && k >= 0) { - t[k][n] = 1; - } - else if (k > n && n >= 1) { - t[k][n] = t[k-1][n] + t[k-1][n-1]; - } - else if (k>=0 && n == 0) { - t[k][n] = 1; + /* t1 */ + for (i = 0; i != 2; i++) { + for (j = 0; j != 5; j++) { + t1[i][j] = j + 1; + } + } + /* t2 */ + compteur = 1; + for (i = 0; i != 3; i++) { + for (j = 0; j != 5; j++) { + t2[i][j] = compteur; + compteur++; + } + } + /* t3 */ + for (i = 0; i != 5; i++) { + for (j = 0; j != 5; j++) { + if (j >= i) { + t3[i][j] = 0; } else { - t[k][n] = 0; + t3[i][j] = 1 + j; } } } - /* Affichage */ - for (k = 0; k != HAUTEUR; k++) { - for (n = 0; n != HAUTEUR; n++) { - if (t[k][n] != 0) { - printf("%d ", t[k][n]); + /* Affichage des tableaux */ + for (j = 0; j != 5; j++) { + for (i = 0; i != 17; i++) { + if (i < 5) { + if (j >= 2) { + printf(" "); + } + else { + printf("%.2d ", t1[j][i]); + } + } + /* BAKA */ + else if (i == 5 | i == 11) { + printf(" "); + } + else if (i > 5 && i < 11) { + if (j >= 3) { + printf(" "); + } + else { + printf("%.2d ", t2[j][i-6]); + } + } + else { + printf("%.2d ", t3[j][i-12]); } } printf("\n"); - } - printf("\n"); + } + return EXIT_SUCCESS; } \ No newline at end of file diff --git a/DEV1.1/TP14/TP14_reponses.txt b/DEV1.1/TP14/TP14_reponses.txt new file mode 100644 index 0000000..e033fdb --- /dev/null +++ b/DEV1.1/TP14/TP14_reponses.txt @@ -0,0 +1,57 @@ +-------- TP14 : Adresses --------- + +1. + +# include +# include + +int main(void){ + float a; + double b; + long double c; + char d; + short int e; + int f; + unsigned long int g; + a = 12.5; + b = 2.0; + c = 48.8; + d = 'a'; + e = 4; + f = 18; + g = 89; + printf("%p\n", &a); + printf("%p\n", &b); + printf("%p\n", &c); + printf("%p\n", &d); + printf("%p\n", &e); + printf("%p\n", &f); + printf("%p\n", &g); + return EXIT_SUCCESS; +} + + +On remarque que les valeurs données à chaque adresse diffèrent à chaque exécution du programme, +mais que la "distance" qui sépare les adresses est toujours la même, distance qui dépend de la taille +de la donnée à stocker en mémoire. + +2. + +Le programme affichera l'adresses des lettres minuscules de a à z présentes dans la variable p. +Après exécution : aBcDeFgHiJkLmNoPqRsTuVwXyZ + +3. + +RIEN COMPRIS ?????? + +4. + +Programme annexe : + +long int n = 4614256656552045848L; +double* p = (double*) &n; +printf("π = %f\n", *p); +return EXIT_SUCCESS; + +Il retourne la valeur 4618760256959462783. +En la mettant dans le programme de base, on se retrouve avec 6.283186, soit 2π. \ No newline at end of file diff --git a/DEV1.1/TP14/tests.c b/DEV1.1/TP14/tests.c new file mode 100644 index 0000000..8b4cff6 --- /dev/null +++ b/DEV1.1/TP14/tests.c @@ -0,0 +1,9 @@ +# include +# include + +int main(void){ + long int n = 4618760256959462783L; + double* p = (double*) &n; + printf("π = %f\n", *p); + return EXIT_SUCCESS; +} \ No newline at end of file