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
|
||||
gcc E6.c -o E6.exe
|
||||
|
||||
E7.exe: E7.c
|
||||
gcc E7.c -o E7.exe
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
clean:
|
||||
|
|
Reference in a new issue