#include <unistd.h>

/*
** Copia local de ft_putchar: el enunciado solo permite entregar este archivo.
** Escribe un unico caracter en la salida estandar.
*/
static void	put_char(char c)
{
	write(1, &c, 1);
}

/*
** Imprime un numero entre 0 y 99 siempre con dos digitos: 7 se ve como "07".
** La division y el resto entre 10 separan decenas y unidades.
*/
static void	put_two_digits(int number)
{
	put_char('0' + number / 10);
	put_char('0' + number % 10);
}

/*
** Imprime "XX YY". El separador va delante de todas menos la primera,
** para que la salida no termine en ", ".
*/
static void	print_pair(int left, int right, int first)
{
	if (!first)
	{
		put_char(',');
		put_char(' ');
	}
	put_two_digits(left);
	put_char(' ');
	put_two_digits(right);
}

/*
** Recorre los dos numeros con dos bucles anidados. El segundo empieza en
** left + 1 para que no se repita ninguna pareja ni salga "05 03".
*/
void	ft_print_comb2(void)
{
	int	left;
	int	right;
	int	first;

	first = 1;
	left = 0;
	while (left <= 98)
	{
		right = left + 1;
		while (right <= 99)
		{
			print_pair(left, right, first);
			first = 0;
			right++;
		}
		left++;
	}
	put_char('\n');
}
