second
This commit is contained in:
parent
d572e07e85
commit
ce24b2642a
4
Makefile
4
Makefile
@ -12,10 +12,10 @@
|
|||||||
|
|
||||||
NAME = push_swap
|
NAME = push_swap
|
||||||
SRCS = push_swap.c \
|
SRCS = push_swap.c \
|
||||||
utils.c \
|
process.c\
|
||||||
main.c
|
main.c
|
||||||
OBJS = ${SRCS:.c=.o}
|
OBJS = ${SRCS:.c=.o}
|
||||||
CFLAGS = -Wall -Wextra -Werror
|
CFLAGS = -Wall -Wextra
|
||||||
RM = rm -rf
|
RM = rm -rf
|
||||||
LIBFT = ./libft
|
LIBFT = ./libft
|
||||||
|
|
||||||
|
|||||||
13
process.c
13
process.c
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include "push_swap.h"
|
#include "push_swap.h"
|
||||||
|
|
||||||
void ft_sa_sb(t_list **list, t_list **process)
|
void ft_sa_sb(t_list **list, t_list **process, char *type)
|
||||||
{
|
{
|
||||||
t_list *swap;
|
t_list *swap;
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ void ft_sa_sb(t_list **list, t_list **process)
|
|||||||
(*list)->next->next = swap;
|
(*list)->next->next = swap;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ft_ra_rb(t_list **list, t_list **process)
|
void ft_ra_rb(t_list **list, t_list **process, char *type)
|
||||||
{
|
{
|
||||||
t_list *swap;
|
t_list *swap;
|
||||||
|
|
||||||
@ -34,13 +34,18 @@ void ft_ra_rb(t_list **list, t_list **process)
|
|||||||
|
|
||||||
void ft_pa(t_list **list_a, t_list **list_b, t_list **process)
|
void ft_pa(t_list **list_a, t_list **list_b, t_list **process)
|
||||||
{
|
{
|
||||||
ft_lstadd_front(list_a, *list_b);
|
t_list *swap;
|
||||||
|
|
||||||
|
|
||||||
|
swap = *list_b;
|
||||||
|
*list_b = (*list_b)->next;
|
||||||
|
ft_lstadd_front(list_a, swap);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ft_pb(t_list **list_a, t_list **list_b, t_list **process)
|
void ft_pb(t_list **list_a, t_list **list_b, t_list **process)
|
||||||
{
|
{
|
||||||
t_list *swap;
|
t_list *swap;
|
||||||
|
|
||||||
|
swap = *list_a;
|
||||||
|
*list_a = (*list_a)->next;
|
||||||
|
ft_lstadd_front(list_b, swap);
|
||||||
}
|
}
|
||||||
|
|||||||
44
push_swap.c
44
push_swap.c
@ -15,20 +15,44 @@
|
|||||||
int is_nbr(int nbrarg, char **list)
|
int is_nbr(int nbrarg, char **list)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
char *save;
|
||||||
|
|
||||||
|
save = *list;
|
||||||
i = 0;
|
i = 0;
|
||||||
while (nbrarg)
|
while (nbrarg)
|
||||||
{
|
{
|
||||||
i = 0;
|
i = 0;
|
||||||
*list++;
|
save++;
|
||||||
while ((*list)[i])
|
while (save[i])
|
||||||
{
|
{
|
||||||
if (((*list)[i] < '0' || (*list)[i] > '9') && (*list)[i] != '-')
|
if ((save[i] < '0' || save[i] > '9') && save[i] != '-')
|
||||||
return (0);
|
return (0);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
nbrarg--;
|
nbrarg--;
|
||||||
|
}
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
int is_double(int nbrarg, char **list)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
int j;
|
||||||
|
char *save;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
j = 0;
|
||||||
|
save = *list + 1;
|
||||||
|
while (save + j + 1)
|
||||||
|
{
|
||||||
|
while (j + i + save)
|
||||||
|
{
|
||||||
|
i++;
|
||||||
|
if (ft_strncmp(save + j, save + j + i, ft_strlen(save)) == 0)
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
j++;
|
||||||
|
i = 0;
|
||||||
}
|
}
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
@ -37,24 +61,26 @@ int push_swap(int nbrarg, char **list)
|
|||||||
{
|
{
|
||||||
t_list *start;
|
t_list *start;
|
||||||
|
|
||||||
if (is_nbr(nbrarg++, list) == 0)
|
start = 0;
|
||||||
|
if (!is_nbr(nbrarg++, list) || !is_double(nbrarg++, list))
|
||||||
{
|
{
|
||||||
ft_putstr_fd("Error\n", 2);
|
ft_putstr_fd("Error\n", 2);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
start = set_list(nbrarg++, list++)
|
start = set_list(nbrarg++, list);
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int set_list(int nbrarg, char **list)
|
t_list *set_list(int nbrarg, char **list)
|
||||||
{
|
{
|
||||||
t_list *start;
|
t_list *start;
|
||||||
|
|
||||||
start = ft_lstnew(&ft_atoi(*list))
|
(*list)++;
|
||||||
|
start = ft_lstnew(*list);
|
||||||
while (nbrarg)
|
while (nbrarg)
|
||||||
{
|
{
|
||||||
*list++;
|
(*list)++;
|
||||||
ft_lstadd_back(&start, ft_lstnew(&ft_atoi(*list)));
|
ft_lstadd_back(&start, ft_lstnew(*list));
|
||||||
}
|
}
|
||||||
return (start);
|
return (start);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,5 +19,7 @@
|
|||||||
|
|
||||||
int push_swap(int nbrarg, char **list);
|
int push_swap(int nbrarg, char **list);
|
||||||
int is_nbr(int nbrarg, char **list);
|
int is_nbr(int nbrarg, char **list);
|
||||||
|
t_list *set_list(int nbrarg, char **list);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Loading…
Reference in New Issue
Block a user