Fin TP 14

This commit is contained in:
Simoes Lukas 2024-10-06 17:22:04 +02:00
parent 471e4a7e75
commit 7d319d2d6a
4 changed files with 147 additions and 30 deletions

View File

@ -112,7 +112,6 @@ int main(void) {
int i; int i;
int j; int j;
int k; int k;
int nb_lignes;
/* t1 */ /* t1 */
for (i = 0; i != 2; i++) { for (i = 0; i != 2; i++) {
for (j = 0; j != 5; j++) { for (j = 0; j != 5; j++) {
@ -139,19 +138,38 @@ int main(void) {
} }
} }
/* Affichage des tableaux */ /* Affichage des tableaux */
nb_lignes = 2 for (j = 0; j != 5; j++) {
for (i = 0; i != 3; i++) { for (i = 0; i != 17; i++) {
for (j = 0; j != 5; j++) { if (i < 5) {
for (k = 0; k != 2; k++) { if (j >= 2) {
/* TO DO */ 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; return EXIT_SUCCESS;
} }
3. 3.
# include <stdio.h> # include <stdio.h>

View File

@ -1,37 +1,70 @@
# include <stdio.h> # include <stdio.h>
# include <stdlib.h> # include <stdlib.h>
# define HAUTEUR 30
int main(void) { int main(void) {
int t[HAUTEUR][HAUTEUR]; /* Déclaration des tableaux */
/* Création du triangle de Pascal */ int t1[2][5];
int t2[3][5];
int t3[5][5];
int compteur;
/* Remplissage des tableaux */
int i;
int j;
int k; int k;
int n; /* t1 */
for (k = 0; k != HAUTEUR; k++) { for (i = 0; i != 2; i++) {
for (n = 0; n != HAUTEUR; n++) { for (j = 0; j != 5; j++) {
if (k == n && k >= 0) { t1[i][j] = j + 1;
t[k][n] = 1; }
} }
else if (k > n && n >= 1) { /* t2 */
t[k][n] = t[k-1][n] + t[k-1][n-1]; compteur = 1;
} for (i = 0; i != 3; i++) {
else if (k>=0 && n == 0) { for (j = 0; j != 5; j++) {
t[k][n] = 1; 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 { else {
t[k][n] = 0; t3[i][j] = 1 + j;
} }
} }
} }
/* Affichage */ /* Affichage des tableaux */
for (k = 0; k != HAUTEUR; k++) { for (j = 0; j != 5; j++) {
for (n = 0; n != HAUTEUR; n++) { for (i = 0; i != 17; i++) {
if (t[k][n] != 0) { if (i < 5) {
printf("%d ", t[k][n]); 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");
} }
printf("\n");
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }

View File

@ -0,0 +1,57 @@
-------- TP14 : Adresses ---------
1.
# include <stdio.h>
# include <stdlib.h>
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π.

9
DEV1.1/TP14/tests.c Normal file
View File

@ -0,0 +1,9 @@
# include <stdio.h>
# include <stdlib.h>
int main(void){
long int n = 4618760256959462783L;
double* p = (double*) &n;
printf("π = %f\n", *p);
return EXIT_SUCCESS;
}