mise en place des fichiers
This commit is contained in:
3
Makefile
3
Makefile
@@ -20,7 +20,8 @@ _LIBS = libft.a
|
|||||||
LIBS = $(_LIBS:lib%.a=%)
|
LIBS = $(_LIBS:lib%.a=%)
|
||||||
|
|
||||||
SRCS = pushswap.c \
|
SRCS = pushswap.c \
|
||||||
error.c
|
algo.c \
|
||||||
|
stop.c
|
||||||
|
|
||||||
ODIR = ./builds
|
ODIR = ./builds
|
||||||
OBJS = $(SRCS:%.c=$(ODIR)/%.o)
|
OBJS = $(SRCS:%.c=$(ODIR)/%.o)
|
||||||
|
|||||||
BIN
builds/algo.o
Normal file
BIN
builds/algo.o
Normal file
Binary file not shown.
BIN
builds/error.o
BIN
builds/error.o
Binary file not shown.
Binary file not shown.
BIN
builds/stop.o
Normal file
BIN
builds/stop.o
Normal file
Binary file not shown.
@@ -9,20 +9,36 @@
|
|||||||
typedef struct s_stack
|
typedef struct s_stack
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
struct s_list *next;
|
struct s_stack *next;
|
||||||
} t_stack;
|
} t_stack;
|
||||||
|
|
||||||
void ps_error(int i);
|
/*
|
||||||
void ps_clean(t_stack *stack, int i);
|
** pushswap.c
|
||||||
|
*/
|
||||||
|
void is_valid(int ac, char **av)
|
||||||
|
t_stack *init_stack(int ac, char **av)
|
||||||
|
void print_stack(t_stack *stack)
|
||||||
|
|
||||||
|
/*
|
||||||
|
** stop.c
|
||||||
|
*/
|
||||||
|
void ps_usage(void);
|
||||||
|
void ps_error(int err);
|
||||||
|
void stop(t_stack *stb, t_stack *sta, t_list *lst, int i);
|
||||||
|
|
||||||
|
/*
|
||||||
|
** algo.c
|
||||||
|
*/
|
||||||
|
t_list *sort_algo(t_stack *stack);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** swap
|
** swap
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
int swap(t_list **list);
|
int swap(t_list **list);
|
||||||
int sa();
|
void sa();
|
||||||
int sb();
|
void sb();
|
||||||
int ss();
|
void ss();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
12
srcs/algo.c
Normal file
12
srcs/algo.c
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
#include "pushswap.h"
|
||||||
|
|
||||||
|
t_list *sort_algo(t_stack *stack)
|
||||||
|
{
|
||||||
|
(void)stack;
|
||||||
|
t_list *lst;
|
||||||
|
|
||||||
|
lst = ft_lstnew("solution");
|
||||||
|
return (lst);
|
||||||
|
}
|
||||||
22
srcs/error.c
22
srcs/error.c
@@ -1,22 +0,0 @@
|
|||||||
|
|
||||||
#include "pushswap.h"
|
|
||||||
|
|
||||||
void ps_clean(t_stack *stack, int err)
|
|
||||||
{
|
|
||||||
(void)stack;
|
|
||||||
ps_error(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ps_usage(void)
|
|
||||||
{
|
|
||||||
ft_printf("usage\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void ps_error(int err)
|
|
||||||
{
|
|
||||||
if (err == 1)
|
|
||||||
ps_usage();
|
|
||||||
if (err == 2)
|
|
||||||
ft_printf("error\n");
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
@@ -6,27 +6,49 @@ void is_valid(int ac, char **av)
|
|||||||
if (ac < 2)
|
if (ac < 2)
|
||||||
ps_error(1);
|
ps_error(1);
|
||||||
(void)av;
|
(void)av;
|
||||||
|
// check more error
|
||||||
}
|
}
|
||||||
|
|
||||||
t_stack *init_stack(int ac, char **av)
|
t_stack *init_stack(int ac, char **av)
|
||||||
{
|
{
|
||||||
(void)ac;
|
|
||||||
(void)av;
|
|
||||||
t_stack *start;
|
t_stack *start;
|
||||||
|
t_stack *tmp;
|
||||||
|
|
||||||
if (!(start = ft_calloc(1, sizeof(t_stack))))
|
tmp = NULL;
|
||||||
ps_clean(start, 2);
|
while (--ac)
|
||||||
|
{
|
||||||
|
if (!(start = ft_calloc(1, sizeof(t_stack))))
|
||||||
|
ps_clean(start, 2);
|
||||||
|
start->n = ft_atoi(av[ac]);
|
||||||
|
start->next = tmp;
|
||||||
|
tmp = start;
|
||||||
|
}
|
||||||
return (start);
|
return (start);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void print_stack(t_stack *stack)
|
||||||
|
{
|
||||||
|
ft_putstr("[");
|
||||||
|
while (stack)
|
||||||
|
{
|
||||||
|
ft_printf("%i", stack->n);
|
||||||
|
stack = stack->next;
|
||||||
|
if (stack)
|
||||||
|
ft_putstr("; ");
|
||||||
|
}
|
||||||
|
ft_putstr("]\n");
|
||||||
|
}
|
||||||
|
|
||||||
int main(int ac, char **av)
|
int main(int ac, char **av)
|
||||||
{
|
{
|
||||||
t_stack *stack;
|
t_stack *stack;
|
||||||
//t_list *result;
|
t_list *result;
|
||||||
|
|
||||||
is_valid(ac, av); // check if usage and list are correct
|
is_valid(ac, av); // check if usage and list are correct
|
||||||
stack = init_stack(ac, av);
|
stack = init_stack(ac, av); // create the list from av[]
|
||||||
// result = sort_algo(stack);
|
print_stack(stack);
|
||||||
|
result = sort_algo(stack);
|
||||||
|
ft_printf("%s\n", result->content);
|
||||||
|
ps_clean(stack, 1);
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
28
srcs/stop.c
Normal file
28
srcs/stop.c
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
#include "pushswap.h"
|
||||||
|
|
||||||
|
void ps_usage(void)
|
||||||
|
{
|
||||||
|
ft_printf("usage\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void ps_error(int err)
|
||||||
|
{
|
||||||
|
if (err == 1)
|
||||||
|
ps_usage();
|
||||||
|
if (err == 2)
|
||||||
|
ft_printf("error\n");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void stop(t_stack *stack_a, t_stack *stack_b, t_list *solution, int err)
|
||||||
|
{
|
||||||
|
if (stack_a)
|
||||||
|
ft_lstclear((t_list)&stack_a, NULL);
|
||||||
|
if (stack_b)
|
||||||
|
ft_lstclear((t_list)&stack_b, NULL);
|
||||||
|
if (solution)
|
||||||
|
ft_lstclear(&solution, free);
|
||||||
|
ps_error(err);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user