From f4c954829ecc4aae847f5903dba990d875f079fd Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Mon, 15 Apr 2019 13:41:39 +0200 Subject: [PATCH 1/3] fonctionne avec une fonction nais aussi quatre fonctions pour les coordonnees --- .add_to_list.c.swp | Bin 0 -> 16384 bytes a.out | Bin 0 -> 12968 bytes add_to_list.c | 133 +++++++++++++++++++++++++++++++++------------ fillit.h | 5 +- 4 files changed, 101 insertions(+), 37 deletions(-) create mode 100644 .add_to_list.c.swp create mode 100755 a.out diff --git a/.add_to_list.c.swp b/.add_to_list.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..f0261a8a79f0a5d1a2793db5a7b40ea1b8c1e49f GIT binary patch literal 16384 zcmeI2TZ|J`7{?E&;D{(eV*~@9-3@Hp*|syYU4-s-qmY;wk?;a0?ACSYh0fY-mv*{z z*{D&u#Kf2o6B81MF)==fkq3D2f-&&{V~h`qmqbD|#u$_*4G$P!{D0@nwA0dEEASx6 z8Tc`CZr}ON|6IzPGrNtQk3GR3iX|AX6^wm7b$Wd3PfOT^7-NN6(Vm*6goUr1RoOIc zZipqUSiZ7A*5{${p8WNEJ~EC0fr24}%1;0!ngj)47OI~WBcU>Ga|8dwAvxU>X1gHOSG;BBxA zM8P_+27GlJV{d_D;5G0lxF4(lOTmY?GWH5M0A2(yfbC!#*aDKk1R?MsSPQOT!{=M@ z8TbI40LMWURKQNK5v&D^!7ms;G=|;>hrmJ5{iV@&AJNgOvp+Xxrg@6jEgt1{lk40Z zX2Dd0QfDn5j5E`%p>E1Y`K)I>9@k(m#dD?XM5bJM%7WspitgHW29>~p3pSU^8vmdnaDJ5C=r4uk?@pVES57NlE0j%s4$Q4 z1adJA0eFG@;(%g*oZ_P?Zt(T%xhyv3q{r%L8DvQFo)quz>kl(OvzO2);_y_8M@=dX zLn%HO4j39tk42*)uShsxjB-Y)G5_j|C~T$EaH_K}R=PW1d`GNwm|E5}7W75eTXY%W zi9l<7SUu4Gp(K^q$mqI5)p;bjQKRdwC%;&Dt9FAk#nadkgVtR(1Ek^URVlhLUSav39lKKN!*C!!PF<08- z7MjCa*B!(ba?YNDE5`Dq7@=Y0Xp9efk-mqnilxgYZ>RA{a<*Mp05G^Vh&&CUzwv(6c4U~|D^@u7q$!k7hJ?JIqQKX$Lpnf zSNe+;G+3Iv7r!Ue0qBVN^l$n9!}Ydcz7FVa>FqFrx^F?p9_VvQnPM%Q<0Dl!>y%@K zQPzm+l^_1b3cZZQBUn*y)WsulGI#?o-{6kvtnKEqNp2bDrnr%an?u|jOeV~vv4QWN zc&rIKqinBeA6(lU}mgB=a>KAkN3H_sfuwkGQ^=KX;o zJT=TU4Q`%I`pp`dvMV!A>0$Ae_h=w*;87USlfI>ZO~1*3%-ubbwWdY*=~?#;2L7)Z z%XDWlsV8Md??K*tgWcI^%au&}Ch`s$$4)%#U^~xsGR;#iO`LKy4#uWzr$py#+|CSeZ@15$Y29lT{>X+kTMw_= fx1;?NwX07JWnr9P+9)Oi;$#*3!;xT^4i5hTBX=dq literal 0 HcmV?d00001 diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..a9a06a7efbc32002ef5bba8d6cd1b1b1f28ee79d GIT binary patch literal 12968 zcmeHOUu;`f89#2^&K=&ag9dcaQEMY(rI5DJjX@XWOg-K0HZRRuqcK!2iQ^DUPEy4- zw3Uo1c}BUubyW!=@i1)#?O|vWM17&WL`e&CK$hl773xDDg5)%IYg#`<<5Fh?;aCJMBa@EuF~@r)^Rvzp)*XU(oDf;nskF$#08Eko>fIOv-ECMWUp$?eN>2R5?9j>Y*CxMivz>4!xOk&M)3OskOHPbv$%)ZP zfxG?juE~#lPC$4k57{Df^6S&WuLt^%_B&d_(rzqd(tryvaq=tHoJd61w273KJ~=)- znbMADrhsqE&tgaGgT`Ax_IJvuX{n)q$1fC?@>%={ck(0ooa;u@hSO`SgyeP07dH6? zFwO!eKbXh`Yy0ZOLodC+4;-@g#GVej0VjCdRF33w@_H2eR&+r|a|cjvqX8y_frn9# zpuC8Z*id_DFJlj&Ttzv9@-s+>kqC%CrL9P`jhuP_b-^OWTWjCh@F0*d678Ga+4R)z zRC0Lt$jQ_QaDp!(ksL4d{_^fOU+QCT)Sr5MJaY6ev@b$PEQpzrzGmS>13UqJY25iQ z3)IeNo~Mzhjda}f%-`WY-`d=m|H#R7CNbXoY%k9(We; zEZ|wdvw&v-&jOwWJPUXh@GRh2z_Wm70nY-TP7B0TeM!}Gt7X1I$2(=-Y6JGpP0#0Z zE&p`%wo-Z?bV*ndgu-`B0>+TiAI|%zUjauiOf~qb5pCt?eR{N|#y?OEe^r?cscv3&X#Faz&YaD3JfiVsfjt?i07#s0ctL>G5O>!MyY zqE}E+<9F2g<*xc0ID%AlepSt{GNnN0nrfM^()b3QWQskP&sF?N=~d#%tJpnid_kT6 z2Zp_0*J!vAy{g7@6;=1&*?`TTh^K)W;?at^h^z1U1I&n3@|S#itkQU0EXN9YiI$_m zD`JaQ_VX*#(Xvva6UrH^zy<0t&C5kzw)gZAA*m2;L5y11&#Ox5+j7#D5p8y1S{Yu9 zXuT_nAn`$@xGy9{ijhcFH6B}tOz#Ud{)h=0CyaKAx{%Z>+wGG;cdJ*OHmaQJNgyI6@gl@i?z$*tHFgu?esLYX&FlaceL zQur$BLMFr&)!1rulL@=k_}|E~%4}#Y^4%=*o3@pHgkg^GNpsv#N*8~n#)RoE`Ug13YtwjXre&`O*)o$dT=n1ztq+T1GWzjcda>b zxyYAo(K^+{^w*U$wwktjfsMU*y~wZIylgcQLYobtX80az1~Jc4rp82UW@v=Lhy zQB6nWQ%l)80%Kh@a;tTA7u&ql_Zy-cyl#Z_SWQ$8`}Np0Sqtc~MOh2#v8zV5X2h-` z?jAtsn_=~5FcfieSM(YMUjrd~V4H}_H5=bfWMcs4%C(d~3OayCKT@KZ_6&jnx?M4uETg)?&8VOn546#HfB$x+BsO)a zFC#{8u8Sgq#ZG&2-vSInKO%HqYs^9%v5C#84Sp9&g^yis_xu)J+C6U}f3fsP2}S>r zc25rFxiMs{aUDa)$kmN&sP&A5t-t$OPa2nD@=k6$RRGSC?z`xodml#UeP%*D#hkoHa{ln^*TN;90=4fM)^E0-gmt3wRdrEZ|wdvw&v-&jOwW zKAjfmel$e)C9FF_k8{Oicx@Q(!|`~1aEhH{Q=#sNHa?U}O~wh^2JASVqi05e3Giun zo4-XHAJY;i67g&%fw%8NH2m3gW@sv-v4aV`HfKK`O|nx%BO_X7QcES%8TLEh_)v0! z{oY5X7i?21Igw!Bk58tu;}h(MU97beM;FyyR?Bg-CELYjzJZqWyQw9Ge+I}*4UH!! zCe!RqALfyB4xxrw*<1LxhSPh|z4a|*bNgvvpA@^bbJ4fxYf;)%y>HPz6L}NO4+a>M(_5_1ou~4Mo{{nC`m}dY0 literal 0 HcmV?d00001 diff --git a/add_to_list.c b/add_to_list.c index 371646a..8eb040b 100644 --- a/add_to_list.c +++ b/add_to_list.c @@ -6,34 +6,63 @@ /* By: hulamy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/14 15:20:53 by hulamy #+# #+# */ -/* Updated: 2019/04/15 00:24:25 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 13:41:06 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ #include "fillit.h" #include - -void find_start_and_end(char **square, int *x1, int *x2, int *y1, int *y2) +int start_line(char **square) { int i; + int x; i = 4; - while (*x1 < 4 && i == 4 && !(i = 0) && square[++(*x1)][0] != '#') - while (i < 4 && square[*x1][i] != '#') + x = -1; + while (x < 4 && i == 4 && !(i = 0) && square[++x][0] != '#') + while (i < 4 && square[x][i] != '#') i++; + return (x); +} + +int start_column(char **square) +{ + int i; + int x; + i = 4; - while (*y1 < 4 && i == 4 && !(i = 0) && square[0][++(*y1)] != '#') - while (i < 4 && square[i][*y1] != '#') + x = -1; + while (x < 4 && i == 4 && !(i = 0) && square[0][++x] != '#') + while (i < 4 && square[i][x] != '#') i++; + return (x); +} + +int end_line(char **square) +{ + int i; + int x; + i = -1; - while (*x2 >= 0 && i == -1 && (i = 3) && square[--(*x2)][3] != '#') - while (i >= 0 && square[*x2][i] != '#') + x = 4; + while (x >= 0 && i == -1 && (i = 3) && square[--x][3] != '#') + while (i >= 0 && square[x][i] != '#') i--; + return (x); +} + +int end_column(char **square) +{ + int i; + int x; + i = -1; - while (*y2 >= 0 && i == -1 && (i = 3) && square[3][--(*y2)] != '#') - while (i >= 0 && square[i][*y2] != '#') - i--; + x = 4; + while (x < 4 && i == 4 && !(i = 0) && square[++x][0] != '#') + while (i < 4 && square[x][i] != '#') + i++; + return (x); } char **fill_tetraminos(char **square, int x1, int y1, int x2, int y2) @@ -63,39 +92,73 @@ char **fill_tetraminos(char **square, int x1, int y1, int x2, int y2) return (result); } -int add_to_list(char **square) +void find_start_and_end(char **square, int **x) { - t_fillist *list; + int i; + + x[0][0] = -1; // x1 + x[0][1] = -1; // y1 + x[0][2] = 4; // x2 + x[0][3] = 4; // y2 + i = 4; + while (x[0][0] < 4 && i == 4 && !(i = 0) && square[++(x[0][0])][0] != '#') + while (i < 4 && square[*(x[0])][i] != '#') + i++; + i = 4; + while (x[0][1] < 4 && i == 4 && !(i = 0) && square[0][++(x[0][1])] != '#') + while (i < 4 && square[i][x[0][1]] != '#') + i++; + i = -1; + while (x[0][2] >= 0 && i == -1 && (i = 3) && square[--(x[0][2])][3] != '#') + while (i >= 0 && square[x[0][2]][i] != '#') + i--; + i = -1; + while (x[0][3] >= 0 && i == -1 && (i = 3) && square[3][--(x[0][3])] != '#') + while (i >= 0 && square[i][x[0][3]] != '#') + i--; +} + +int add_to_list(char **square, t_fillist *list) +{ + int *tab; int x1; int x2; int y1; int y2; - x1 = -1; - y1 = -1; - x2 = 4; - y2 = 4; - if (!(list = (t_fillist*)malloc(sizeof(*list)))) - return (0); - find_start_and_end(square, &x1, &x2, &y1, &y2); + tab = (int*)malloc(sizeof(int) * 4); + find_start_and_end(square, &tab); + x1 = tab[0]; + y1 = tab[1]; + x2 = tab[2]; + y2 = tab[3]; + printf("%d %d %d %d\n", x1, y1, x2, y2); + +// x1 = start_line(square); +// y1 = start_column(square); +// x2 = end_line(square); +// y2 = end_column(square); list->size[0] = y2 - y1 + 1; list->size[1] = x2 - x1 + 1; list->area = list->size[0] * list->size[1]; list->tetraminos = fill_tetraminos(square, x1, y1, x2, y2); - -// int i; // pour imprimer -// i = -1; // -// while (++i < list->size[1]) // -// printf("%s\n", list->tetraminos[i]); // - return (0); } -// int main(int ac, char **av) -// { -// if (ac == 5) -// { -// add_to_list(++av); -// } -// return (0); -// } +int main(int ac, char **av) +{ + static t_fillist *list; + int i; + + i = -1; + if (!(list = (t_fillist*)malloc(sizeof(*list)))) + return (0); + if (ac > 4) + { + add_to_list(++av, list); + while (++i < list->size[1]) + printf("%s\n", list->tetraminos[i]); + } + + return (0); +} diff --git a/fillit.h b/fillit.h index e674e97..78e28c6 100644 --- a/fillit.h +++ b/fillit.h @@ -6,7 +6,7 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/01 13:34:46 by vmanzoni #+# #+# */ -/* Updated: 2019/04/15 00:26:08 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 10:43:51 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -37,7 +37,6 @@ void print_error(char *s); int check_file_errors(char *file); int check_tetri_errors(char *tetri); int check_tetri_errors2(char *tetri); -int add_to_list(char **square); typedef struct s_fillist { @@ -49,4 +48,6 @@ typedef struct s_fillist struct s_fillist *next; } t_fillist; +int add_to_list(char **square, t_fillist *list); + #endif From 8423652fb09ced916a1266aa8a79b42310b03892 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Mon, 15 Apr 2019 16:07:19 +0200 Subject: [PATCH 2/3] add_to_list fonctionne et creer une liste chainee coherente, mais encore quelques bugs si la liste comporte une erreur --- .add_to_list.c.swp | Bin 16384 -> 16384 bytes .fillit.h.swp | Bin 0 -> 12288 bytes a.out | Bin 12968 -> 8776 bytes add_to_list.c | 112 ++++++++++++++++----------------------------- fillit.h | 4 +- 5 files changed, 42 insertions(+), 74 deletions(-) create mode 100644 .fillit.h.swp diff --git a/.add_to_list.c.swp b/.add_to_list.c.swp index f0261a8a79f0a5d1a2793db5a7b40ea1b8c1e49f..d2f047a851eb0d1de0f77546419cd8dda56984e7 100644 GIT binary patch delta 1753 zcma*nUuaWT9Ki9@v}?U~T`Ouk_Tp_<%1zoxTK{ym>&?_T9WN;0yKFMYC<>x|&?o;q2v)_4!axy0MN#)XH*K264m{zLd++)4 zJNKO5Nrr|BhK33%zYKJK9@3kauN0IDA;ypV(Y@`#SmpEbf3l^;4H@RCnUbXW_$t@ zZ74%23gN+HO*mpoV=_$O3~X#f5Y6~^0fBJ}qu7Ba_)v{2B|`j+A8;JQh~q1S(TNZ~ zMJrmc1dob^xKr$~N^UOTG=^~i9axNF6rm8e-VtIFmv9lsaTpGE!$JqvVHH-O2?DR! z^E->T}?eqx{^0^pBmMZzj5X< zF#VW*UDxfAJq=SOt6KuATUIouH~IhZIBVV$Vhrkkwu*}?ugZmZiCdV&IDW?%e!`D9 zgh6zo70q}b4~aF237o@OoIx6Do>BaY5m3^fRopBqJusUmX`6v9vyVnV-Orf*39ADj zG%8*0ubd^T4bEhfrL()!r?NXyqt1)`-t@_n=Ca6s8o%BZi(9&TV)VK?-H5q6My?na z>Fre~$~}XTLA{=xZP4r7!=>V?a~IjEx3%eORQKH8_4ScKy2{&Tm0TOFEg`5nInoN& F{s$uwleGW< delta 1531 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 diff --git a/add_to_list.c b/add_to_list.c index 8eb040b..ed777f7 100644 --- a/add_to_list.c +++ b/add_to_list.c @@ -6,65 +6,13 @@ /* By: hulamy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/14 15:20:53 by hulamy #+# #+# */ -/* Updated: 2019/04/15 13:41:06 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 16:06:37 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ #include "fillit.h" #include -int start_line(char **square) -{ - int i; - int x; - - i = 4; - x = -1; - while (x < 4 && i == 4 && !(i = 0) && square[++x][0] != '#') - while (i < 4 && square[x][i] != '#') - i++; - return (x); -} - -int start_column(char **square) -{ - int i; - int x; - - i = 4; - x = -1; - while (x < 4 && i == 4 && !(i = 0) && square[0][++x] != '#') - while (i < 4 && square[i][x] != '#') - i++; - return (x); -} - -int end_line(char **square) -{ - int i; - int x; - - i = -1; - x = 4; - while (x >= 0 && i == -1 && (i = 3) && square[--x][3] != '#') - while (i >= 0 && square[x][i] != '#') - i--; - return (x); -} - -int end_column(char **square) -{ - int i; - int x; - - i = -1; - x = 4; - while (x < 4 && i == 4 && !(i = 0) && square[++x][0] != '#') - while (i < 4 && square[x][i] != '#') - i++; - return (x); -} - char **fill_tetraminos(char **square, int x1, int y1, int x2, int y2) { char **result; @@ -96,10 +44,10 @@ void find_start_and_end(char **square, int **x) { int i; - x[0][0] = -1; // x1 - x[0][1] = -1; // y1 - x[0][2] = 4; // x2 - x[0][3] = 4; // y2 + x[0][0] = -1; + x[0][1] = -1; + x[0][2] = 4; + x[0][3] = 4; i = 4; while (x[0][0] < 4 && i == 4 && !(i = 0) && square[++(x[0][0])][0] != '#') while (i < 4 && square[*(x[0])][i] != '#') @@ -118,7 +66,7 @@ void find_start_and_end(char **square, int **x) i--; } -int add_to_list(char **square, t_fillist *list) +int fill_list(char **square, t_fillist *list) { int *tab; int x1; @@ -132,32 +80,52 @@ int add_to_list(char **square, t_fillist *list) y1 = tab[1]; x2 = tab[2]; y2 = tab[3]; - printf("%d %d %d %d\n", x1, y1, x2, y2); - -// x1 = start_line(square); -// y1 = start_column(square); -// x2 = end_line(square); -// y2 = end_column(square); list->size[0] = y2 - y1 + 1; list->size[1] = x2 - x1 + 1; list->area = list->size[0] * list->size[1]; list->tetraminos = fill_tetraminos(square, x1, y1, x2, y2); - return (0); + return (1); +} + +int push_to_end(t_fillist **list) +{ + t_fillist *tmp; + + if (!(tmp = (t_fillist*)malloc(sizeof(*tmp)))) + return (0); + if (!(*list)) + tmp->next = NULL; + else + tmp->next = *list; + *list = tmp; + return (1); +} + +int add_to_list(char **square, t_fillist **list) +{ + if (!(push_to_end(list))) + return (0); + fill_list(square, *list); + return (1); } int main(int ac, char **av) { - static t_fillist *list; + static t_fillist *list = NULL; int i; - i = -1; - if (!(list = (t_fillist*)malloc(sizeof(*list)))) - return (0); if (ac > 4) { - add_to_list(++av, list); - while (++i < list->size[1]) - printf("%s\n", list->tetraminos[i]); + add_to_list(++av, &list); + if (ac == 9) + add_to_list(av += 4, &list); + while (list && (i = -1)) + { + while (++i < list->size[1]) + printf("%s\n", list->tetraminos[i]); + printf("\n"); + list = list->next; + } } return (0); diff --git a/fillit.h b/fillit.h index 78e28c6..f4e6a06 100644 --- a/fillit.h +++ b/fillit.h @@ -6,7 +6,7 @@ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/01 13:34:46 by vmanzoni #+# #+# */ -/* Updated: 2019/04/15 10:43:51 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 15:51:03 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -48,6 +48,6 @@ typedef struct s_fillist struct s_fillist *next; } t_fillist; -int add_to_list(char **square, t_fillist *list); +int add_to_list(char **square, t_fillist **list); #endif From baa1a3de672336be2603c01b68f9d7acf3fbceb5 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Mon, 15 Apr 2019 16:21:04 +0200 Subject: [PATCH 3/3] ne gere pas bien la cas d'un tetraminos sur une seul ligne --- .add_to_list.c.swp | Bin 16384 -> 0 bytes .fillit.h.swp | Bin 12288 -> 0 bytes a.out | Bin 8776 -> 9320 bytes a.out.dSYM/Contents/Info.plist | 20 ++++++++++++++++++++ a.out.dSYM/Contents/Resources/DWARF/a.out | Bin 0 -> 11428 bytes add_to_list.c | 15 ++++----------- 6 files changed, 24 insertions(+), 11 deletions(-) delete mode 100644 .add_to_list.c.swp delete mode 100644 .fillit.h.swp create mode 100644 a.out.dSYM/Contents/Info.plist create mode 100644 a.out.dSYM/Contents/Resources/DWARF/a.out diff --git a/.add_to_list.c.swp b/.add_to_list.c.swp deleted file mode 100644 index d2f047a851eb0d1de0f77546419cd8dda56984e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI2ZHQb~8OKkPn0i~I#g;05I=hS6dD+>Wxx1S*v)Qp!r3j4#A%U`)Y;SgEI(Iue zyUyI*&KhedntrrOKekl_QKST^FQqLdv`{pH{bur^&{(LVAXr4GLb3RJ&V89X)7^Eu z%?Fip!!P%qd!O^1=lsvh-8tu;E1v$+34L^OMseJx)aA#2apwNN9#n5kD%D(Xc`KXp zVCSRmc8;x;j!e$Dla0;}rr!u1PBm87JHck~@aj}?cCq2NT7EF))oP2u>SD|929rxW z_^^+x0#<=ND6k$h3U?h+({8CKxyMFF^zENKwFgHwi&elXU=^?mSOu&CRspMkRlq9n zzp6m6wohFk_TQmO~zaP4DCU4(DJ z8dTv7+zEHU0eI(DrTz@Rhih;ZUW4c0`*0RcKn3RDom-Up16+Yu;4=IYo`A2zSKw}_ zz&sp+TVX%!gTFiEhih;JUWNefh0noJ_{&G}3(vtNcmQ0;!3g~BW~F`v--D;%Noc_` zEW&9x0bhVQD8n7_w}VQ(1y|wM@B%yukHAT|9S*_)*bi@hM5*iW8vGWXf^WkGcnIon z67GRnmz=C% zx>wS9U7Azrr$u?X>FV^oQgtx(zWh!rHb~A6N2eaFciK8r%2GxqCoyCTm7pGU1|Ny7 z!#)1>kL@#iD}H;mOArlz(9b{-vDKi-UQ=7R9(1)A15<@oYf%&l!_9QRx|Q41z38&9 z(~!(-9lsqkGNZA#WwUNnT zkmX=-CN_@ToQvz1u6km!eTBlo*l+bM`$4F9uQZ`Iq33dTMeHy$&Eb(POqgNKz|E!8 zrD|gQ0fv2n(xOR$NdV2ga|_eri3uZ2xst*tOqo)cN5WK5o;Cb-ZLu48onX=9O1eYb z*oSc^b>Kvf41Hr*Yi?z!#|&2VEBel+i@mv!iApYd@tt0LCx^eJE&9E7`<~YCXpZ9- z3OIHiZu+e{A?eDzF6zUFbr|!4UtQ=e6sw3()g$wId~BRv6d6Ykk}STSpVx(w8)_0bUC7&PA<+z?n z)h3puw4E%xWuhEL6_a7W~{er>DqG1OD(_PcLB?{l|V_aAHqrq3>$ zp2$S!B>jK@96xM;exacwDS7-%aXgABeAUaWYhn!F2}vGo&CEYM-gCLAUJUw7=vSs6 zGu=AplaVHY&ZMXBxSVt`Ng3}eBvnRK-K31DO!GHSYVwQBhW}6!U5fG4%~-UIHe~i@>B^y2qH`UTUq^>iT#$ zsQIgt%}W2)X!zmpWOG!hsT}?3MjbjgB@S=k5j#A!R`Y^-t*qT*>DW|pW~wx+OGnDZ zBjxF%`rM`tKW|PIJT^8)ivP{Q$I;QV*x~1SOAb1m(WTk4TP)8`Z|P8v<;7!sirneF zRXLBd=pT-_O5F7w-m_Vbt95+E>umV#yUkbLm6UDj(m2VNV^1lcag|fXySo%`eUHQ$ zd5;~Y{&t&O+MUaCz8o4x7vU*(xH}(1R^@W+k}ElQ{-GQW`8UbX;f)$6IR@R7lHdQw z_+9@j$nXDnfB!vx_x}stgzIn_eg@CN58(%J5jNm7%)wFkG`x+k>u?2Lg;(HZ_&G>9 zm*6MxG}yx`U=^?mSOu&CRspMkRlq7>6|f3e1^!NxRcRJgqq?QgAkep_}kw6`>&qs3fr!>r%_8+_MI AivR!s diff --git a/.fillit.h.swp b/.fillit.h.swp deleted file mode 100644 index ed2f8e4e36c3ac2e5af7f447453fba8d4cb2f0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2Pj4GV7{;d@N=*qMxFA}I0Uv-3c)kA9Hk(qlDK=O#t<=VqfTm{covlY*@0#7& zv@W7t2q(l>-~;r)g$sx?5)u+OZXCJ5wI86*>>qnmL=;LcLGMIA&+N=Q&%E>OSW1)` z)vxv5=cj8ehVmR^?|${&_4|JvWxv-Ln!Yc{O9mZ-k^3V-4G!Q-mYJaT{> zAP2|+a)2Bl2gm_(fE+l44yf4?_Brx?BG0{@*GC?y^GB-40djyGAP2|+a)2Bl2gm_( zfE*wP$N_TT5IW$vjD3BKv3nIHkN^J{fB%2`EMqso3i$CE#%_U^z|Sj;-2tzG-=1b{ z2Ydly;DC=oAG{169B1q&@D11o3D^SH!3W@NV1qSq5}W`pg5%&AcoO{i6l1@F`(Ov$ z09#-KoCi&C5*!5&u!lduFW?98J@^vr0KLC-kB9IbQOe{1IY17O1LOcX@PBfkDgsw} zjLAS%Dvs+8RXFrztX>~aoQNAn{7K?O;!UoyYm%`-pB{f>ow3gpYLlt5#w7!tssXYioz&vFJI~K&b15u!3C|53RF3ak%8bFgKl?twfA9%TlEI6+E!&S_7hj|v$1kVVd&Q; z=eTKd74jq&T=#J8>+V1q=3!nKL3xziI*HOZ?d82Nvne~=wwYk-{+m>B#^3j}U*PBZVSF2S#;WI6` z9G#C9f){ZbOM*?aZgHz=H(Pe=los5cI>FsAkW0zxs#fHAwdgMd7ajX)tU@LKK{#5a zNrm9X++JpJw#esvtZ;Y(mEHJ0x15)XtlEWANwW}K#_qGF)s~9LGgmJJi;Ls?l+$7M os+~pWjjSpJ|Ao*p)V2#rv~8bJ2P}FIdW{1(L>NO56&;9!=w!W?w_)aVpYz}j zYHfRPdAEMuIq3a-Kk~=(>-gfUscbMfHgrW_aOS%W4#123N6{(QxQfsFgw^L<=b5Bl zb)8}ON?ZFUCo`q5b}pBM6#<*HH==fTP1LdtQTy0V@a5$ZwqWZF2SW_Sjwn!T9sr(N-_*lU{ys;%ZXSrm4T2cOE|#r zfCHX)W0>p3VC=(C-%oR}w8qv-E`wR3ABt8)51XhN7Ps+bDc8gW{{P4^Ziz0Ijk`W^yklt^#$A%+7O zXb0f%NK=tKOu@1-M*qPLlniS(S6@9pDC{A5N+XZUC~E+-0nB$Z981$8#X3&T<*7LUhN9$HSZ zKLmVEPGesj4|#?!7WrZ!pPR|&?u>*ok$f&GB?Un^nO8?K6(hI#YkZ6Rn4%0Rw@&#} iU=Ej5MgQhIaGGA!yd+XfGf3u*F{9tS3oVd#0`Lz5RPrwX delta 752 zcmZWnO=uHA6n?WwOl)j6QADi)Hw|jMlp+Yds4&i=i}?(R_5B(0jQIoS zNTrtveD;z@EIRpgS$Q>!Bzuk8%^|fv@~?OwwbPuowm`nS4{L+;Hb&S?VxaBxkhbQq z5*Z;*2gwAcuqp49+sL}iseK`VY>qkV5)=^+X{Wbo>z$H)YjhT&R?! ze#>#3|8AagrSbb*y;;8U+i}K%cKXL(O~WwQLMTOa)(xGM&N{udP>>L-_d&iBUiPV_ zys9_!#k#4hd0ortRY(~H$Sl=sdDX0_dN~IxM9bv_C>Clatdf#eD8oG>W(88QsDfI~ zsWnrpnyQAGIMM*g)Xl0^DwHcVsJRE59nCVSv4!o|+d_YjQ+2u!K;Ya;=PU lH@^K34j|r(K7o#wbTK;^&jxpOhb_gYBdTc0jQh$F_Yc|g!vX*R diff --git a/a.out.dSYM/Contents/Info.plist b/a.out.dSYM/Contents/Info.plist new file mode 100644 index 0000000..3679a65 --- /dev/null +++ b/a.out.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.a.out + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/a.out.dSYM/Contents/Resources/DWARF/a.out b/a.out.dSYM/Contents/Resources/DWARF/a.out new file mode 100644 index 0000000000000000000000000000000000000000..d7eab358bae77025696c91713106525b88c14d3d GIT binary patch literal 11428 zcmeHNZ)_CD6`$R?S>GS~Y%q5D6Uq@`Ffp7BF~o+0;DUpFc3MQJae#I?+h^a=^WEic z59|iX#EBvhZDX2HRj4IjKuRSdRh6pnM-@a(s*}?9-pu^on>Vx1w|o2kr+@!<6=ND_j0I64vy=3p$}+TzQGfrf(NAhW z-tfb>o-OU!^JM#8UFlh!JtvQL1iB@tJ*cL+r)zijf$qIu0jMZi1)dKQ&xaUjn)|v3 z_st$5=fmE7gvTMygXE3!scESx!vuKruie*(L-$bp= zS6v=qV+Z;bpP>{spP5Q#^2q{pm3%KLzEutZT8e$S%<*ryXcf}gF*Tr)?+wN0*e~-a zVHP)Zrdi4!OJ_&Sbapf+@$CKhvErjWcSk1;zq9>| zC_X>0@7nv68il5< zf+u2kT~G&^c*wtyt;YP3fGbwsJqtblQB)>TsP| z>zX`|Xqt(9K9e-%=Ayrn@5&aN@0V)smB;2Gaj9nUp790B@z z8OBYBb3al8T&vkP5%kq=rNoTgKnLNd!c1X&4a9i#;|78H;|jM0Z2WbF4~K1xZ$jgV zbT*nv7cG1#8c&(YiR5s}O5zqcF@jrQGcht^S~=WU(16i&CgT>Zq*X|ar?WYH10SW^ z(xR0pSY`rJGCN{(!=hKb2zU|jBH%^9i+~paF9Kc!ya;#^@FL(vz>9zv0e1vG!0&T9 z+X$7W{VQC9PmONlQ8nD^)9rWKilzv=?#rX{Ck@5|x^vs_(|MgHd_n&y5h{tW5fk+> z5r~P9vCV}Z2ik(ZjWN*{6HDTvc2F48f*WH(zlpJfLXV3ljFi}pL7QWuJtiKBi@>y~ zpB7cq!iRDErf4wkLhKXzY2h;se#jC5gEz%RjWHt{WBlNZc!W1a`N8u-=S?xN-xNVm zhi3$bTi{q~#Km&y;iHzo2)OFA#DcpR+AH+^B6v{f7@`?{dJqA@GM%RxSZ0eR^x)6H zXkpNpYD=?PpHVXS)6%W>xLAOZ4Kdz7BbIW&6>$<*lh|U3=vC1X7n>khqWe7WzXYGL zYWQsMzClsVH^oI=T-0Mt__W08JG}3b;Cxd|2&{|0LjL*=8oXDU1D7-x=RIT&5auAR zCeb#x)e;>rHzT?&-b3a(l)2qxuG2BM{HioJ&3BWz&PsFL(p=0o*BIx!X2dcMxKfI1 zcx+UxvqYWJILe>rfgoHBBO5;jkNm3tJ3N;zdl7~-^RH6Vbu=my1o6* z!!B(9yG#?|pnqH###Nj|oI;$GD&twq8%4Vftu?1z2z>*N^wOBnW3-=h6tx(!0yCG# z=@O`kizX=6gL*?uV6PGX2K1a4_4vfG^xJ+p59Q$3AK=&0pg%3DaY3nTDsT;+#0CE7 z3ag=ZTGSZ_L@kLiG84oKIFLV%iR2{00uwPTNPArm*k+t(cQEr8m@Qwy-4=>D^oML%=lfXeNc1bO@n_Mfe-R~2z>1{z>H`Bh(bD#u-`-2ea3q- z0W6piwU`&#v z9Dn5+TdrfT%duZC=VRem9cIz_(FTGPi*D*Eb96f#w99%o?Fl$ii)iF-`UD!05$I9= z9hPhERp^k6M_i#n8G$}Rh_JGK7C;-I6RIDeo^pf_DBCG%`@lQ4|A$x6$V21_Gspu& zirNCLDO@jjxb6$f!V9#8c*{$VLb=e`v6zRqgtms(Ea|O(5-&mVcE-cK^`z1l!<=Bc z8qr&i^|a4|MlB<4RU;ak2Ir(+7+eLoJrsf%(lnY{y%JNO0Is2~ zP-r{EaHVJD7h_%Yo=l{_f8goJ(PW{R&SfK=(Y9z?q&`;> zPS*O>A||w^N}0s?Wb0_IRInzkW4YG0O?L9J>;x!tSYntZjX=C5+@s!XQE=SmpPCN{9i4Qyf~o7~6>$zmyEu~afWmaQ zg^~hc`foyoaw3V&`%84B3DZ9fDs*`frhh3^oOLM3=39p|MqoTu99UUsJ+xL1t-z~! zhFUkRmj;kYTKD^(W^0E||LK{w6DLE%k+a8dow|FD);opzJyc4C@1V-ui +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/14 15:20:53 by hulamy #+# #+# */ -/* Updated: 2019/04/15 16:06:37 by hulamy ### ########.fr */ +/* Updated: 2019/04/15 16:14:46 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -87,7 +87,7 @@ int fill_list(char **square, t_fillist *list) return (1); } -int push_to_end(t_fillist **list) +int add_to_list(char **square, t_fillist **list) { t_fillist *tmp; @@ -98,25 +98,18 @@ int push_to_end(t_fillist **list) else tmp->next = *list; *list = tmp; - return (1); -} - -int add_to_list(char **square, t_fillist **list) -{ - if (!(push_to_end(list))) - return (0); fill_list(square, *list); return (1); } int main(int ac, char **av) { - static t_fillist *list = NULL; + static t_fillist *list = NULL; // avant d'appeller add_to_list il faut declarer un pointeur static vers la structure int i; if (ac > 4) { - add_to_list(++av, &list); + add_to_list(++av, &list); // l'appel de la fonction se fait avec un carre valide de 4*4 et l'adresse du pointeur vers la liste if (ac == 9) add_to_list(av += 4, &list); while (list && (i = -1))