pile b ne fonctionne pas
This commit is contained in:
25
srcs/print.c
25
srcs/print.c
@@ -1,10 +1,28 @@
|
||||
|
||||
#include "push_swap.h"
|
||||
|
||||
void fill_solution(t_stack *a, t_stack *b, t_list **solution, char *sp)
|
||||
/*
|
||||
** this function is called at each action (pushes, swapes, rotates)
|
||||
** pointers to the stacks a and b are stored into two first element of list solution (because both lists a and b are not available from every functions, like sa() doesn't receive b in argument)
|
||||
** the function access the list to fill a new element with three things :
|
||||
** - the name of the action (sa, sp, rra, etc)
|
||||
** - the stack a
|
||||
** - the stack b
|
||||
** like this :
|
||||
** name!a: nb nb nb nb nb!b: nb nb nb
|
||||
** "!" are used to split, it will be turn into :
|
||||
** name
|
||||
** a: nb nb nb nb nb
|
||||
** b: nb nb nb
|
||||
*/
|
||||
void fill_solution(t_list **solution, char *sp)
|
||||
{
|
||||
t_stack *a;
|
||||
t_stack *b;
|
||||
char *stack;
|
||||
|
||||
a = (*solution)->content;
|
||||
b = (*solution)->next->content;
|
||||
stack = ft_strdup(sp);
|
||||
stack = ft_strjoinfree(stack, ft_strdup("!a:"));
|
||||
while(a)
|
||||
@@ -17,7 +35,7 @@ void fill_solution(t_stack *a, t_stack *b, t_list **solution, char *sp)
|
||||
while(b)
|
||||
{
|
||||
stack = ft_strjoinfree(stack, ft_strdup(" "));
|
||||
stack = ft_strjoinfree(stack, ft_itoa(a->n));
|
||||
stack = ft_strjoinfree(stack, ft_itoa(b->n));
|
||||
b = b->next;
|
||||
}
|
||||
ft_lstadd_back(solution, ft_lstnew(stack));
|
||||
@@ -26,7 +44,8 @@ void fill_solution(t_stack *a, t_stack *b, t_list **solution, char *sp)
|
||||
void print_result(t_list *result, int flag)
|
||||
{
|
||||
char **part;
|
||||
|
||||
|
||||
result = result->next->next;
|
||||
if (!flag)
|
||||
result = result->next;
|
||||
while (result)
|
||||
|
||||
Reference in New Issue
Block a user