Exemplo n.º 1
0
static int		ft_display(t_windata *t_fdf)
{
	I = -1;
	while (t_fdf->tab[++I])
	{
		K = I;
		L = 0;
		while (t_fdf->tab[I][++L])
		{
			J = L - 1;
			t_fdf->z2 = ft_atoi(t_fdf->tab[I][L]);
			t_fdf->z1 = ft_atoi(t_fdf->tab[I][J]);
			ft_algo(t_fdf);
		}
	}
	K = 0;
	while (t_fdf->tab[++K])
	{
		I = K - 1;
		J = -1;
		while (t_fdf->tab[K][++J])
		{
			L = J;
			t_fdf->z2 = ft_atoi(t_fdf->tab[K][J]);
			t_fdf->z1 = ft_atoi(t_fdf->tab[I][J]);
			ft_algo(t_fdf);
		}
	}
	mlx_put_image_to_window(t_fdf->mlx, t_fdf->win, t_fdf->img, 0, 0);
	return (0);
}
Exemplo n.º 2
0
void				call_algo(t_swap **ba, t_swap **bb, int ac, char **av)
{
	void			*tmp;
	unsigned int	i;

	tmp = ft_pt_op();
	i = 0;
	ft_algo(tmp, ba, bb, i);
	while ((!*ba || !ft_sorted(*ba) || *bb) && i <= 5000000)
	{
		*ba = ft_creat_list(ac, av);
		*bb = NULL;
		ft_algo(tmp, ba, bb, ++i);
	}
	*ba = ft_creat_list(ac, av);
	*bb = NULL;
	if (i > 5000000 && !ft_sorted(*ba))
		return (ft_algo_sort_s(ba, !ft_strcmp(av[1], "-v") ? 1 : 0));
	ft_put_sol(i, !ft_strcmp(av[1], "-v") ? 1 : 0, ba, bb);
	ft_putchar('\n');
}
Exemplo n.º 3
0
void		ft_algo(t_tab **op, t_swap **ba, t_swap **bb, unsigned int i)
{
	if (i / 8)
		ft_algo(op, ba, bb, (i / 8));
	if (i % 8 < 3)
		op[i % 8](ba);
	else if (i % 8 == 3 && *bb)
		pb(bb, ba);
	else if (i % 8 == 4 && *ba)
		pa(ba, bb);
	else if (i % 8 == 5)
		op[3](bb);
	else if (i % 8 == 6)
		op[4](bb);
	else if (i % 8 == 7)
		op[5](bb);
}