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); }
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'); }
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); }