From 1b3f74710e6355d07e8cd404577f10bedc724d2a Mon Sep 17 00:00:00 2001 From: lclerel- lclerel- Date: Fri, 13 Mar 2026 14:33:55 +0100 Subject: [PATCH] update --- ex4/ft_is_sort.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 ex4/ft_is_sort.c diff --git a/ex4/ft_is_sort.c b/ex4/ft_is_sort.c new file mode 100644 index 0000000..93f8977 --- /dev/null +++ b/ex4/ft_is_sort.c @@ -0,0 +1,73 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_is_sort.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lclerel- +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2026/03/13 14:01:47 by lclerel- #+# #+# */ +/* Updated: 2026/03/13 14:30:30 by lclerel- ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +int ft_is_sort(int *tab, int length, int (*f)(int, int)) +{ + int i; + int cs; + int ds; + + i = 0; + cs = 1; + ds = 1; + if (length <= 1) + { + return (1); + } + while (i < length - 1) + { + if (f(tab[i], tab[i + 1]) > 0) + { + cs = 0; + } + if (f(tab[i], tab[i + 1]) < 0) + { + ds = 0; + i++; + } + return (cs || ds); + } +} + +void ft_putnbr(int nb) +{ + char value; + + if (nb == -2147483648) + { + write(1, "-2147483648", 11); + return ; + } + if (nb < 0) + { + write(1, "-", 1); + nb = -nb; + } + if (nb > 9) + { + ft_putnbr(nb / 10); + } + value = nb % 10 + '0'; + write(1, &value, 1); +} + +int main(void) +{ + int tab[] = {1, 2, 3, 4, 5, 6, 9, 7}; + + if (ft_is_sort(tab, 8, &ft_putnbr == 1)) + { + write(1, "Ok :3", 5); + } +}