From 30b306d2c2c8bff00703d588b164e94d9930ef7b Mon Sep 17 00:00:00 2001 From: Maoake Date: Mon, 8 Dec 2025 20:44:03 +0000 Subject: [PATCH] modified some files like all files in stack utils and adding main.c and modified atoi and parssing --- ft_atoi.c | 11 ++++++++++- main.c | 40 ++++++++++++++++++++++++++++++++++++++ parsing.c | 5 ++++- push_swap.h | 15 ++++++++++---- stack_utils/push.c | 10 +++++----- stack_utils/rev_rotate.c | 4 ++-- stack_utils/rotate.c | 4 ++-- stack_utils/stack_add.c | 12 +++++++----- stack_utils/stack_remove.c | 4 ++-- stack_utils/swap.c | 8 ++++---- 10 files changed, 87 insertions(+), 26 deletions(-) create mode 100644 main.c diff --git a/ft_atoi.c b/ft_atoi.c index d9f7783..e530cb8 100644 --- a/ft_atoi.c +++ b/ft_atoi.c @@ -6,10 +6,19 @@ /* By: mteriier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 18:28:17 by mteriier #+# #+# */ -/* Updated: 2025/12/08 18:30:28 by mteriier ### ########.fr */ +/* Updated: 2025/12/08 19:30:48 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ +#include + +static int calcul_sign(char c) +{ + if (c == '-') + return (-1); + return (1); +} + int ft_atoi(const char *nptr) { size_t i; diff --git a/main.c b/main.c new file mode 100644 index 0000000..3d91552 --- /dev/null +++ b/main.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: mteriier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/12/08 18:32:35 by mteriier #+# #+# */ +/* Updated: 2025/12/08 20:36:49 by mteriier ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "push_swap.h" +#include + +void print_all_stack(t_stack *stack, t_stack *first) +{ + t_stack *tmp; + + tmp = stack; + printf("TAB\n"); + while (tmp->next != first) + { + printf("[%d] ", tmp->value); + tmp = tmp->next; + } + printf("[%d] \n", tmp->value); +} + +int main(int argc, char **argv) +{ + t_stack *first; + + if (argc > 1) + { + first = parsing(argc, argv); + print_all_stack(first, first); + } + stack_clear_all(first, first); +} diff --git a/parsing.c b/parsing.c index 753c2d9..3c377e2 100644 --- a/parsing.c +++ b/parsing.c @@ -6,12 +6,13 @@ /* By: mteriier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 16:21:05 by mteriier #+# #+# */ -/* Updated: 2025/12/08 16:50:25 by mteriier ### ########lyon.fr */ +/* Updated: 2025/12/08 20:31:37 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ #include "push_swap.h" #include +#include t_stack *parsing(int argc, char **argv) { @@ -21,6 +22,7 @@ t_stack *parsing(int argc, char **argv) t_stack *new; i = 1; + first = NULL; while (i < argc) { stock = ft_atoi(argv[i]); @@ -35,4 +37,5 @@ t_stack *parsing(int argc, char **argv) stack_add_back(&first, new); i++; } + return (first); } diff --git a/push_swap.h b/push_swap.h index c93124d..454c1dd 100644 --- a/push_swap.h +++ b/push_swap.h @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 14:18:06 by dgaillet #+# #+# */ -/* Updated: 2025/12/08 15:34:51 by mteriier ### ########lyon.fr */ +/* Updated: 2025/12/08 20:28:41 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,9 +15,9 @@ typedef struct s_stack { - int value; - s_stack *next; - s_stack *previous; + int value; + struct s_stack *next; + struct s_stack *previous; } t_stack; typedef struct s_stacks @@ -38,5 +38,12 @@ void rr(t_stacks *stacks); void sa(t_stacks *stacks); void sb(t_stacks *stacks); void ss(t_stacks *stacks); +/*FUNCTION UTILS*/ +t_stack *new_stack(int value); +void stack_add_back(t_stack **stack, t_stack *new); +void stack_add_front(t_stack **stack, t_stack *new); +void stack_clear_all(t_stack *stack, t_stack *first); +t_stack *parsing(int argc, char **argv); +int ft_atoi(const char *nptr); #endif diff --git a/stack_utils/push.c b/stack_utils/push.c index ec8944e..ef35775 100644 --- a/stack_utils/push.c +++ b/stack_utils/push.c @@ -6,25 +6,25 @@ /* By: mteriier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 15:09:40 by mteriier #+# #+# */ -/* Updated: 2025/12/08 15:35:23 by mteriier ### ########lyon.fr */ +/* Updated: 2025/12/08 19:37:01 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ -#include "push_swap.h" +#include "../push_swap.h" void pa(t_stacks *stacks) { - t_stack a; + t_stack *a; if (!stacks || !stacks->b) return ; - a = stack->a; + a = stacks->a; a->value = stacks->b->value; } void pb(t_stacks *stacks) { - t_stack b; + t_stack *b; if (!stacks || !stacks->a) return ; diff --git a/stack_utils/rev_rotate.c b/stack_utils/rev_rotate.c index fe9e664..a8aca03 100644 --- a/stack_utils/rev_rotate.c +++ b/stack_utils/rev_rotate.c @@ -6,11 +6,11 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 14:43:45 by dgaillet #+# #+# */ -/* Updated: 2025/12/08 14:52:53 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/12/08 19:37:26 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ -#include "push_swap.h" +#include "../push_swap.h" void rra(t_stacks *stacks) { diff --git a/stack_utils/rotate.c b/stack_utils/rotate.c index d330a9d..d2ce509 100644 --- a/stack_utils/rotate.c +++ b/stack_utils/rotate.c @@ -6,11 +6,11 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 14:32:10 by dgaillet #+# #+# */ -/* Updated: 2025/12/08 14:52:37 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/12/08 19:37:44 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ -#include "push_swap.h" +#include "../push_swap.h" void ra(t_stacks *stacks) { diff --git a/stack_utils/stack_add.c b/stack_utils/stack_add.c index 9775452..d7cd0c6 100644 --- a/stack_utils/stack_add.c +++ b/stack_utils/stack_add.c @@ -6,11 +6,11 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 15:52:40 by dgaillet #+# #+# */ -/* Updated: 2025/12/08 16:03:54 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/12/08 20:33:58 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ -#include "push_swap.h" +#include "../push_swap.h" #include t_stack *new_stack(int value) @@ -26,11 +26,13 @@ t_stack *new_stack(int value) return (new); } +#include + void stack_add_back(t_stack **stack, t_stack *new) { if (!stack || !new) return ; - if (!(*stack)) + if (*stack == NULL) { (*stack) = new; new->next = new; @@ -39,7 +41,7 @@ void stack_add_back(t_stack **stack, t_stack *new) else { (*stack)->previous->next = new; - new->previous = *(stack)->previous; + new->previous = (*stack)->previous; (*stack)->previous = new; new->next = *stack; } @@ -47,7 +49,7 @@ void stack_add_back(t_stack **stack, t_stack *new) void stack_add_front(t_stack **stack, t_stack *new) { - if (!stack || *new) + if (!stack || !new) return ; stack_add_back(stack, new); *stack = new; diff --git a/stack_utils/stack_remove.c b/stack_utils/stack_remove.c index 393b591..2c53bf8 100644 --- a/stack_utils/stack_remove.c +++ b/stack_utils/stack_remove.c @@ -6,11 +6,11 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 16:05:27 by dgaillet #+# #+# */ -/* Updated: 2025/12/08 16:15:28 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/12/08 19:40:01 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ -#include "push_swap.h" +#include "../push_swap.h" #include void stack_clear_all(t_stack *stack, t_stack *first) diff --git a/stack_utils/swap.c b/stack_utils/swap.c index 67430fb..61fbb6b 100644 --- a/stack_utils/swap.c +++ b/stack_utils/swap.c @@ -6,15 +6,15 @@ /* By: mteriier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 14:48:44 by mteriier #+# #+# */ -/* Updated: 2025/12/08 15:04:39 by mteriier ### ########lyon.fr */ +/* Updated: 2025/12/08 19:40:49 by mteriier ### ########.fr */ /* */ /* ************************************************************************** */ -#include "push_swap.h" +#include "../push_swap.h" void sa(t_stacks *stacks) { - t_stack a; + t_stack *a; int stock; if (!stacks || !stacks->a || !stacks->a->next) @@ -27,7 +27,7 @@ void sa(t_stacks *stacks) void sb(t_stacks *stacks) { - t_stack b; + t_stack *b; int stock; if (!stacks || !stacks->b || !stacks->b->next)