init projet
This commit is contained in:
83
tp3/TP3/testprint.c
Normal file
83
tp3/TP3/testprint.c
Normal file
@@ -0,0 +1,83 @@
|
||||
#include "testprint.h"
|
||||
|
||||
void print_stacks(int h, int nb, ...) {
|
||||
va_list liste;
|
||||
va_start(liste, nb);
|
||||
stack **tab;
|
||||
int i, j, max = 1;
|
||||
|
||||
MALLOC(tab, nb);
|
||||
for (i = 0; i < nb; i++) {
|
||||
tab[i] = va_arg(liste, stack *);
|
||||
CHECK_NULL(2, tab[i], "The stack", tab[i]->array,
|
||||
"The array used to implement the stack");
|
||||
}
|
||||
|
||||
// Récupération de la hauteur maximum parmi les piles.
|
||||
for (i = 0; i < nb; i++)
|
||||
if (tab[i]->size_stack > max)
|
||||
max = tab[i]->size_stack;
|
||||
|
||||
for (j = h; j > max; j--) {
|
||||
PRINT_BLANK;
|
||||
|
||||
for (i = 1; i < nb; i++) {
|
||||
PRINT_BLANK;
|
||||
PRINT_BLANK;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
// Affichage des piles.
|
||||
for (j = max; j > 0; j--) {
|
||||
if (tab[0]->size_stack < j)
|
||||
PRINT_BLANK;
|
||||
else
|
||||
printf("%" xstr(MAX_SIZE_INT_STACK) "d", tab[0]->array[j - 1]);
|
||||
for (i = 1; i < nb; i++) {
|
||||
PRINT_BLANK;
|
||||
if (tab[i]->size_stack < j)
|
||||
PRINT_BLANK;
|
||||
else
|
||||
printf("%" xstr(MAX_SIZE_INT_STACK) "d", tab[i]->array[j - 1]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
PRINT_STARS;
|
||||
|
||||
for (i = 1; i < nb; i++) {
|
||||
PRINT_BLANK;
|
||||
PRINT_STARS;
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
free(tab);
|
||||
va_end(liste);
|
||||
}
|
||||
|
||||
void print_queue(const queue *p) {
|
||||
printf("File:");
|
||||
if (isempty_queue(p)) {
|
||||
printf(" vide\n");
|
||||
return;
|
||||
}
|
||||
int i = p->left;
|
||||
if (i < p->right)
|
||||
while (i < p->right) {
|
||||
printf("%4d", p->array[i]);
|
||||
i++;
|
||||
}
|
||||
else {
|
||||
while (i < p->size_array) {
|
||||
printf("%4d", p->array[i]);
|
||||
i++;
|
||||
}
|
||||
i = 0;
|
||||
while (i < p->right) {
|
||||
printf("%4d", p->array[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
Reference in New Issue
Block a user