Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ************************************************************************** */
- /* */
- /* ::: :::::::: */
- /* ft_print_combn.c :+: :+: :+: */
- /* +:+ +:+ +:+ */
- /* By: oadhesiv <[email protected]> +#+ +:+ +#+ */
- /* +#+#+#+#+#+ +#+ */
- /* Created: 2019/01/30 21:53:23 by oadhesiv #+# #+# */
- /* Updated: 2019/01/31 02:32:17 by oadhesiv ### ########.fr */
- /* */
- /* ************************************************************************** */
- int ft_putchar(char c);
- void ft_print_combn(int n);
- void ft_print_combn_print(int *arr, int max_index);
- void ft_print_combn_reset(int *arr, int max_index, int position);
- void ft_print_combn(int n)
- {
- int numbers[10];
- int i;
- i = 0;
- while (i < n)
- {
- numbers[i] = i;
- i++;
- }
- while (--i >= 0)
- {
- while (numbers[i] != 10 - n + i)
- {
- ft_print_combn_print(numbers, n);
- numbers[i]++;
- if (numbers[i + 1] != 9 - n + i)
- {
- ft_print_combn_reset(numbers, n, i);
- i = n - 1;
- continue;
- }
- }
- }
- ft_print_combn_print(numbers, n);
- }
- void ft_print_combn_print(int *arr, int max_size)
- {
- int i;
- i = 0;
- while (i < max_size)
- {
- ft_putchar(arr[i] + 48);
- i++;
- }
- if (arr[0] != 10 - max_size)
- {
- ft_putchar(',');
- ft_putchar(' ');
- }
- }
- void ft_print_combn_reset(int *arr, int max_size, int position)
- {
- int i;
- i = 1;
- while (position + i < max_size + 1)
- {
- arr[position + i] = arr[position] + i;
- i++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement