From 5a0e7fb0dd5295761d0d023e72a72015cd216e83 Mon Sep 17 00:00:00 2001 From: lclerel- lclerel- Date: Thu, 5 Mar 2026 18:58:08 +0100 Subject: [PATCH] Add ce Combn de merde --- ex2/ft_print_comb2.c | 2 +- ex3/ft_combn.c | 59 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/ex2/ft_print_comb2.c b/ex2/ft_print_comb2.c index 6cdf6bc..d397774 100644 --- a/ex2/ft_print_comb2.c +++ b/ex2/ft_print_comb2.c @@ -6,7 +6,7 @@ /* By: lclerel- +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2026/03/05 13:45:48 by lclerel- #+# #+# */ -/* Updated: 2026/03/05 15:56:57 by lclerel- ### ########.fr */ +/* Updated: 2026/03/05 16:49:26 by lclerel- ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ex3/ft_combn.c b/ex3/ft_combn.c index e69de29..521d635 100644 --- a/ex3/ft_combn.c +++ b/ex3/ft_combn.c @@ -0,0 +1,59 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_combn.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lclerel- +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2026/03/05 18:03:23 by lclerel- #+# #+# */ +/* Updated: 2026/03/05 18:57:19 by lclerel- ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_put_tab(int *tab, int n) +{ + int i; + char c; + + i = 0; + while (i < n) + { + c = tab[i] + '0'; + write(1, &c, 1); + i++; + } + if (tab[0] != (10 - n)) + { + write(1, ", ", 2); + } +} + +void ft_recursive(int *tab, int n, int pos, int start) +{ + int i; + + if (pos == n) + { + ft_put_tab(tab, n); + return ; + } + i = start; + while (i <= 9) + { + tab[pos] = i; + ft_recursive(tab, n, pos + 1, i + 1); + i++; + } +} + +void ft_print_combn(int n) +{ + int tab[10]; + + if (n > 0 && n < 10) + { + ft_recursive(tab, n, 0, 0); + } +}