TD1 E7
This commit is contained in:
parent
284a26cbd3
commit
e403cd62fb
54
TP1/E7.c
Normal file
54
TP1/E7.c
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
/* Affiche une table de multiplication */
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void afficherDansBase(int nombre, int base) {
|
||||||
|
int a, b, c; // Chiffres
|
||||||
|
c = nombre % base;
|
||||||
|
nombre = nombre / base;
|
||||||
|
if (nombre == 0) {
|
||||||
|
printf(" %x", c);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
b = nombre % base;
|
||||||
|
nombre = nombre / base;
|
||||||
|
if (nombre == 0) {
|
||||||
|
printf(" %x%x", b, c);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
a = nombre % base;
|
||||||
|
printf("%x%x%x", a, b, c);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int b, x, y;
|
||||||
|
int const w = 3; // Taille intérieure d'une case
|
||||||
|
printf("Quelle base ?\n");
|
||||||
|
scanf("%d", &b);
|
||||||
|
if (b < 2 || b > 16) {
|
||||||
|
printf("La base doit être comprise entre 2 et 16\n");
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
printf("X×Y");
|
||||||
|
for (x = 0; x <= b; x++) {
|
||||||
|
printf("│");
|
||||||
|
afficherDansBase(x, b);
|
||||||
|
}
|
||||||
|
for (y = 0; y <= b; y++) {
|
||||||
|
// Dessine une ligne
|
||||||
|
printf("\n───");
|
||||||
|
for (x = 0; x <= b; x++) {
|
||||||
|
printf("┼───");
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
afficherDansBase(y, b);
|
||||||
|
for (x = 0; x <= b; x++) {
|
||||||
|
printf("│");
|
||||||
|
afficherDansBase(x*y, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -24,6 +24,9 @@ E5-2.exe: E5-2.c
|
||||||
E6.exe: E6.c
|
E6.exe: E6.c
|
||||||
gcc E6.c -o E6.exe
|
gcc E6.c -o E6.exe
|
||||||
|
|
||||||
|
E7.exe: E7.c
|
||||||
|
gcc E7.c -o E7.exe
|
||||||
|
|
||||||
.PHONY: all clean
|
.PHONY: all clean
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
Reference in a new issue