:: Enseignements :: ESIPE :: E3INFO :: 2007-2008 :: Programmation C - Slot 1 ::
[LOGO]

asciIRt


But du projet

Vous devrez réaliser un programme permettant de convertir des images en ascii art, c'est-à-dire à produire des versions texte de ces images. Voici un exemple de ce que vous pourriez obtenir:

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$m$m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$UU@$$$$$$$$$$$$$$m$$$m$m$$mm$$$$$m$m$$$$$$$$m$$$$$$$$$
$$NM@mmwMkM@@mpm@@w@@mm@@p@@wm@@mm@@@@mmmmm@@Q@@@a@AUUXVXOOXOBAAFDMN@@@@@mmmmmmmmmmmmmmmmmmmmmmmmmmmmmgmpmmmm$
$$N0@mmMMM@w@m@m@@w@@mm@@@mmmm@@@@pq@mmw@@@MMMxMA01111]]TT%T111YYQWW0M@mm@mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm@mmm$
$$NMMmmMMMM@mmwmww@@mmm@@@mm@@@p@@w@@@@MMMMM6#%Y6V1Yl]]T]%CT{tl>]YQUGMg@@@@mmmmmmmmmmmmmmmmmmmm$mmmmmmm@m@mmm$
$$KM0@0MMM@@@@w@mw@@mm@@mmmm@mmM@@wMMMMA881{YYYKH1YittT{|Tt|<C3<1YOKYY8NNM@@mmmmmmmmmmmmmmmmmmmmmmm@mm@gmmmmm$
$$KMMMMMM@@@@@ww@@wmmm@p@@m@@@qw0BMMRHU8YOQYWVY1X##ttt<}==<{<=7=TYUVJOYUX8@N@@@mmmmmmmmmmmmmmmmmmmmm@m$q@$mmm$
$MMMMMMMMMwmmw@@m@@mmm@p@@m@@mwM0M@DWGAOVOURT{TC}1111T=)T<3^==t==3Y]?lXVGUXW0MMg@mmmmmmmmmmmmmmmm@mm@mmM@m@mm$
$$#NMMMMk@wmp@@p@m@mmm@@p@m@@MkMRUQhWQV1i1dV>&QvV11&t>c<<<><;+l>;lY>+TU]GQUWUYhKM@pmmmmmmmmmm$mmmm$m@m$Mgm@mm$
$$NMMMMBw@mm@@mmp@mmmm@@@@m@M0DPOGOUVWO|lURI<JU1J|tT5T:<<)<i;={>;}V<}<1"#OTTTWUWMNw@mmmmmmmmm$mmmm$mmmmwMwmmm$
$$MMMgMBM@@mw@@@mm@mm@@@@@MNMBUQOOXITVW=)&WW;{1t}Vtlt]c<=)><==)<|1T<S<l|XK<]%QO4DWDMkmmmmmmmmmmmmmmmmmmMMwmmm$
$$9@MwMBg@m@@p@p@p@mmmm@@MMX@WQWYT1K<hNc91UU|<<lYH23i1tt{<{7>(tt8T&<Bt<<WPtT3Af]3HQXNB@mmmmmmmmmmmmmmmmm@@mmm$
$$MMMMMgMmm@@mm@@@@mm@@@M@XUWWXWI(>)33f{<T1WWQQP@XVV1T<<<!|<<lt11K8OTOilWOYc]8})M#V#A@M@mmmmmmmmmmmmmm$mN@mmm$
$$MMwMMN@w@m@m@@@@mmm@wMKQWQUUXR8]S(")WuuYSM0D!]!l<<<<=;-=;_==<]}+:%OWM8RF7{tW<)MT<QMQWN@mmmmmm$mmmmm@$mM@mmm$
$$N0MMBM@mm$@@@@wmpm@MMRW8OUWZQWK{3W}|MM@!8(1C=;C{I<<<_==;===<]%6c=t]1I9AMkdWH33K>7#6)AXKMmmmmmmmmmmm@mmMMmmm$
$$NM0MqM@mmmm@@@@@mwMMK#QQ}YWHWQW{|UQ80T|+)C5l/<sl6666|(~>cz(CE=}{=tC]>:+70Qg#k9TnMAt)NhX0y@mmmmmmmmmmmmgM@$m$
$$MMMM@Mwmmm@p@@@mg0MHRRXf=MAWWWWQKDT|^>==)UQHjRO8%TTTT?|T?tt>z)TXlI}1>=+<={#QM5dbN#t]QAVWMBmmmmmmmmmmmmMB@$m$
$$0MMMMM@@mmp@@@@gMRASU8WWt]HOQDM#T?<=c}>wyM#T19<<)7=<7<i<:=}<j]"lUf8Qu|s|E=<{3@gMD<&tY(5WWKB@m$mmmmmm@mMM@$m$
$$MMMMMM@mmmppw@@MMQWUOtAA@(YQM0I>c"<){g0VlT?t<|j<<<<<lT=-;)C<<]iVI<|]3&0at("<<T9NMeX=YltQWWMymmmmmmmm@mwM@$m$
$$@@MMMM@mmm@@m@MMWbWX<YXMNXM@C9+<i]&WB%])^{<>{<<"<<<1Y<;:>t{TJ{XX(<<<>j+%AgS{7><)]aNQM{?0TYSR@mmmmmmm@mMM@$m$
$$MMBMM@@m@w@ppwMWWRHNC]QADMX1<{|lgMVT}>]C||<><7"<<=jl>;:~]{%t{<1O<"<<}||<>>#Bti<<_5@MK]QB}MMKMkmmmmmm@mMM@$m$
$$@M0MMMwm@qwMwNWWQV&uI)V9MD?<i]]0HTt]}|}<<<lgUK7===](:=+i<^t1]}YT<<<(<<<{t{%V@Mk{(+]aMdS(lMUO0MmmmmmmmmMM@$m$
$$BMMk@M@mmp@@0MWRVG77X|q@R1zt2k@0V5]t}<|<)>@T?9G<=tI=r~]T<)lttzY<=<<<)<lxDH@k}NmmK<iYYMN<2N&}G0Mmmmmmmm@M@mm$
$$@MMMM@@@mwpMMWWAtVI]#B06]4GM0%{}ptt5<+<igR7ic;3g;l(=:"t|7I]]]1E==<=<<:qH(rTN1M$16GG{]ANQ#K%SWRM@mmmmmmM0Bmm$
$NMMMMM@@mmpwMMyW#{tKtMB=l1dM&C}t}0{1]t)|mY>;_==3l(3t=<"=;=jY{Y(=-==<<;{Ii;(\3M@t1TRMUD{{NMHldM6AM@mmmmm@M@mm$
$$gwMMgp@m@pMRMKVdQtYSR(r3WMT{{]]lV&t]iCM5+:)E7=<MYYY===;r;=Ttt=~==<<=)9==]W{t3K}]t]10RT+3@NQM#)a0Mmmm@mMM@mm$
$$@MNgqMwmmwMMDAsaSW%@V|l?KTt{|{t#Y$t%GM(<z}1Ec(2Q8UI:===~===)f==_<<=>7I={Y<1{&Nt5{]l1#l<38MFWI]MWM@mmmm@M@$m$
$$m0MMMM@@m0MxKTVAR0#f]QfN>l]lIC]1)VQNM1>dbY]}r;?K,?(=~=!:===:C======<>(;)V}T&Z3KTl5ttTNpKlGBN}#M#WMmm@m@M@$m$
$$@MNM@@@mwM#MN[1lM0T1QS#t](l}<I]](Y00#}V(QtOT=<)E;jF<!<======3~-=<<<=l(=!V{<?41W1T]%]]T@RnT)B{X9SM@k$mm@M@$m$
$$@0@MM@wmMMMDMK]QA}<!0Ytt]{}^<)lt]XMC%]z55Tl2<=j{;/L:=C=;<]=<)T===<<<@<;=V(<W@ItB{<lt1tKSR(_}K1lMMAM@mmwM@$m$
$$mMMg@@@wNHR8MKK9Q<}MI%]{3+{t<)}{W0T{t]tt1<]=<:)$=)Lr)t<="}]]lI===_=<U<<<)C%)VStYK}}{]5}{8Hl<QMQMiY0@m@wM@$m$
$$wM0M@q@MMRKt?WMA)|aB]&{}I|<<t^}lNI]})3<]t9}===)5;){(4>~=^<=^TQ<=<<=<M<<<)AY}(2&lRtC<}}]}TBf<)8MBY!HMm@w0@$m$
$$MMMMg@@kRAbVbM0(5BN}l]l}I<<|t){iNR8T<<]t<<Y{<==d~)I<1=T()C?==)I==<=)V<=){]}<Ut)0@bt<|{]ttVNG>VMU}%MMm@wM@mm$
$$@MNMMwgMK#N8R9&<tM]t]]>t<t<{<<l4S%t=7<YT^>AT7==X<?(=)t=i"1<zc}Ur=<=)M<=Yk<}(YC<3B$1E}}{]t33Y|=W3YUMM@@MM@mm$
$$$MBMM@MNMMMYMP{lQ${}T{t{}tt<)]|#]R>=<]O})<|(<<<}t4><}Y>^()1{VYQ<=<=}4<<3J({|JlT%SSNt<>Cl]]#C%t)R&M0NMmwk@mm$
$$MpMMqgMMMMMW9T{89&Y&]l>|^<<<)YVT70<<]lB<<]X<<"=3O1<=c3Y{=C)-<<9C<<)b(<"5dt<<YC|<tZK6|{|]]zY6$f}#M0MN0@m0mmm$
$$g$MMqMMMMDMMT)Ym511#]]3<<<<<%WT]X2j}])1><Y$:<<")wI(<<]<==<<=T;<Q"=T&<"?%1Y})VT]<0K8M{)t]}1OOY$3]HNKMMBMM@mm$
$$M$N@gMMMMx0BC]MRwA9MM#Im}<^^YGTX)fVYT<1<it{lC<=]Mt<^t<==<<=<l}}WI}M(=<"}>QfY1}l|YHJOk<T11YY12mk(YMMMMMMMmmm$
$$qmBMMMMMDMM$5}0M@98Y(%3T@kqnHl}]lOT9<l|}R5Y1<<=!X13{T)<<t<==13tYHSf<)}^1<3TV}T<}WUGUQmQ#mBDWm#R5)fMMMMMMmmm$
$$@$g@wMMM@wkCtwKNUXKVY6YO|}5MV{V5>XC={{QY&i35="=l0G{=il=|1t=I]_=|1M<z)Y[T)3C)l}<lV{]&Fk%(V8@@M5U6>WMMMMMMmmm$
$$kqgM0NMH#5MKMMAQVT%|t]tY1XtQ[XST1Y>Ct9]%t<1]tC<3C7<=YT1>=>1Yk|"<](T<73K|}%|<OO}{6z3V0UYH8UQhQN$mz30M0M@0mmm$
$$mMgMkM0R}}K$MMD1Q$VblQQ{<t%MlIDttT^^)tl]T<>()lCGt<<"{<I+<==3<%VC<}l><t%t<3]})Nfl$J1iQK{]]]C1GVR0mX@B@0MB@mm$
$$@qg@MMMKgXwMWUYY3QUIWCQRl}YAY]8ttIj]{Y<}t)tI]<3&<<{tC<<<<<){<<3K1WB<Ctit|%{C{1YXC?[1QK)]]Q]Y{1GG0@KOR0MM@mm$
$$@ggMMM@@pMBVHYYI?N#VY6)KTl2RtWRl%1lYKI'1{)]G3<}&lY1T<<<{<<)C<<)l=T#S1T1li}C>{6}5{3C]O&]]tMlQGYXU203YY@NMmmm$
$$@wMMM@MMAXR%SwX%O#MY0I)K{lWVBY&}]8T]UCI1ttdWK}M%TTI|t<){<<]("<]{=)?kC<THYOI]{6Y%tVS18N]]%H{08O#$31H00@MM@mm$
$$@@MMMMMMUX4IYMR1X1RG3AA6>WR1W1Xtt}|KO>ltRRV(JqB<<Ct<<{]Y{l%<)<]\<<]YI<]{1Vt]]U&&tYf1WNt]5Mt@ft?RQWR@NMMMmmm$
$$@@gMMMMKYYO#YQ3VOGl{)Rh4<dQ2V]1l]]3V%]>]T#C~3NTjjlX7]G?3]{Y|<<lY&|c1@]&T|1]T%W1ilVl]YMi]]H{M1V0VW@6UKMMMmmm$
$$mpgMMMMARs{BOBKIYl]t|1TTJW{Yz]OllY1T]tttT3C|YO(|}]11UT<i|{1}}"]l{X]QMK8C]}dRGV}QQIU%Vgz]{H]Y1R5tHN6YV@MM@mm$
$$mMmMM@MS08MKA1}}lYUAWUY6dX5XC)XfV#T{&]Y[<VI]@Kt]kl]%1{C{+]]]&]1]|]14qMKtt]VR#t)YRTYCOR9OUY2z{WDIaWYQ8KMM@mm$
$$m@MMMMMR@WR8UDKVOQQQm1OYMOJH4}YMYCT]#VJU<%C1B1}}f|C]]}<+{3]}9zYtt<<]04tl]11T]l]VYCY5YdQ1k1Of1YHlRBXmWRNMMmm$
$$m@M0MMNHMQRGOUQNSB#9#@dMR1XO]lJRT]Clt|)Y]%13D<XQTt5}3}]3]1}{{]TYllt]VCYt]%U]]]l13UdtYWm@@@0mMWYzRwVMRMMMMmm$
$$@@gM@M01YXKUN0MR5<|{)7TfK#UR]lJQ]]]6l>]1t]YM}z#Rl5}]U{{]|Yl}]{>%DUURMIQk{3W}]t8GTOBlUO#T|{%9VMKYW8}W%QMMMmm$
$$m@MM@Mq%YVOdMM6I}t]3]>]UOYO$]tJR{&]YCl58l]lK]]YYhhYKOY1YU]]1X&C]T}YV@tYHGbWHlJY]{1U{UW$T{t|{]3NDKU&YOWMMMmm$
$$m@pBMM@QQR3MM1}]ll]C{}]G%U8Rtt]RlT1X}ttU{]Cf>]{JKTTtTVT1U}3YVt{tQ(ctYQ&T1RYXYUt]t1|5YlK35{]{ttt0MQRO1W0M0mm$
$$@Mw@MMHMWSMM6%VV&&tlt}YO1VWflllStzdRt5l8Y/A%t1t3f))&|TlYV8t8WY5V3YXj6@1>>}l3X#t1]8V%OJKC{]tttYtt@DMbQMMM0@m$
$$@@M@MMTKmMMXO%\%Vitt]>6KYOYUt5OMOYVDY|T@OWH1}6}>1l]UX&Dt&Y31Y&RT<}b|&$]]{Ytl%8t&]8Y)O3R{]]tt%VDG8NMMQB8MM@p$
$$@q0MMM8gMmbRXOUK1ii}}]WKY11YY|R%Hl]VVK{J0M<8G1|)YbKT1A1]JWUt{YO}<]NWbK)TlQ}Tlhl}5K&Jh5U{]#V1VYVUX|8@mM}MMM@$
$$m@00@KSHY@$NwOYU8111itW|UC%W8K1&Y{Y(15t31h>OUs5CXNQ|GUlV1VV]JK%t]]T9m!35VB|tQBtYYs1lW1Nlz%V1YUYHmW&M#@&gMM@$
$$@wMMMR9KYXRmmNkX8VO}1WR1Xi5lV6Y]V]Y>3C3YlM])YKi]aM0MWMQYY16lY1]}Y8>]M0QWtYRGK]T]AIt&U}Mf}KYYUYQmmmMHUNKgMk@$
$mmww0MK0OOQmq@mmQYOOY1QRUKY>>}6X|1]t<}{l&)MC|CWOA#5!+^?T#UzY%Yfi1Nfj]MY99}|D0G)SU0ttY1]M1KYXVUQ@MMmmhUK6KwM@$
$$@MM0NQQKGK@MMNM@m1YBYSQX6]>1KYV1Y%C<VTY}UO}]dK9l<=<<c=<}UQh11U4tYA{}MO1]|Y>tT]@8RT%YV]0RU8YGX@MS0@m8|W%Wwk@$
$$@MM0MXMYKwqN9K@M@@81X8UOYl]]6YI1l}Y]1T6(}DYk8{=c<?="<=)<}WX#l]QGt1UU@E1C<1+l4)U]YTKz1}9&YGkMj@MKMqgm0V@A0k@$
$$qMMgMWN2MMMMAMKW1#@MmMDUX]]3YYI&l3C)T]k}]mm6=)|{1it<=<<{:TQV1tD1t5)@Mm]>]OTY])V&YtN%YtNQY@@BY@WMHMBMUYRHMM@$
$@mMMMMOM0MWgMSKAM%XU8KAOVU]lYVD3KlYI|i]1{YM&Mf/YQVt6OG}jl}=1%}Y|%Ct9dNM]{]8{YI116C{Y58tVm@0V$NwX#WMdQmWONMM@$
$$@MBMMM#NRWMMbRCMYUUDAM6f%tt\1D{YlYC}1]t)3I)3@@m5]()lTi7%l=)ANMIT1HGRBw]]]K]Y}]&8{]YN118hYlUT[MH8WMNXKDKgMM@$
$mmMMMMKgYOdMMRRKM1YYU@RQ#8t}YY1]1tYI}13f]b{imM&Y$N8Qk|1I<l>]Q8JK5TUA8TMt{1K5YT31YC{@&118@8Y6i@MAAWKSQWNMMMM@$
$$mMMMMSwOOWMMWRdMXV%6@mmRtl]18f1z]Yt}1}T]NI]@@{OXSK13Az{^]<t{?)K}{1@$]M9]1U%6T1tY{%Lmlz8N1Y}&@WNWXDSWYMwMMM@$
$$gMMMM@SQOQMNWQRM1VVi660KtlY1Y6]1]KC31YTNB}2mUYK>%N1]KO6lt]1<<1NlGmMp!m#{JK5%t11#]}0gR$]@|1]]fWQWU@MbXA@@MM@$
$$gMMMbMWOUWqNQ#WMTTVT1#YKt]Y1UY81]KCUVYC21{2kC|]?lx|1tOUCtl]<lUMMwAh@@mStJ61|>1&YTYdVNMiOK{T]Y#WHUNMOOG@U0M@$
$$mMMMRMXQOW@NQWRMtl}V&1#KttUT8CJT%U]/YYTA4TQ4T]Q)SM&it3GYIT<+]dAW%1A@RM@NWQ]K]1&4TYA}l@BWO]tIQN8RQ@oUXGDMMM@$
$$mMMNMMUUUXWMUQ0R]Ttt}t|#]]U1Y{KC3I{YYYYN}YpltY$t0KYO&iN9T<]lNRVV1/oIt}HV@V15}U1i]Ne]}39#R]TC3m8WW@WOGXW0qM@$
$$m0MkMKUXUQQqUWKBlt}tT]Pf]lYYVtY{1XtUXGWItq5tVddfNXW!4OB1zORWU%1YYQ@%)W{%@NkKl5l]]3M5]ttt]&1CYMMWQ0WXGQXMmM@$
$$mMq@NNSQUOh@ROM$lY]]]lbf5Yk&ftYt3B1OAWmaMm8RH}9@@UUlNMu[p#QUb#bK8WB(t3K5a09@@RUY{YK1]t#]V11]tqM8KMWYUOYQ@M@$
$$@NgNR0MQUXQ@NMM%811&%3MY]U1YCtOCYKtWMm@M@mkt)VtUMUUkR7T!21SB@#R@BR3hG?KYXf3W@Q/Y]YK]1i]KY%C1VY#H@WOHGOWB@w@$
$$mMMMWhMMXUGMMMwWY1Y118M1TY1V4]XtlXYMmN@1Wm|t]lfMK#b%<=<cc<)38]1YUHMMMMXOCOGp8VYX]j4}%\6YKYYYUA@M@DOYUQkh8w@$
$$mMwMWWmwRUUKmMNXXUUXKQR&}UYOC}K]YhWm@R}Y0@fl%H0MgR]=<<?<<<<=tHzY1X]Y1YWH1A@K{]Y4tjRYYU6HYXOOOO0mNXUBQ0MWW@@$
$$mMwMW#@BXUUN@@8XOUU6f0R5Y%YDlYU13MMUMX1QMqG]@I@BH3{<==>)<<<<TYQYXVXVQbMYOSMU&YYf]YRYYYYYY|6YUDMmMAYYQm3OW@@$
$$mMwMMmgUOUHdKmmQOUOmWMV]Y1HOlYI3YMX5MW1WAyNWW1M@%<=13W6QTt<<<JMBRRG8MW%NW@WY]#Y1]YmYYYYYYYkYkKBmMOl%XNMXWw@$
$$mMqNuMkRUOUXN@@MS$d$$ptJO&O11YGl0R]Y@@UWX@$1>)@$T=}hVt]>5Kt<"3UUWAH8OY[0M@DV&1Y%]YwM$$$$MwwM@$mMWUYUX@mQW@@$
$m@M@NRD@OOUJGM@KXYYYYAMtUUlG5}XC39MW0@MUMQQ5]]%b${l6f]t]]l){m){GRHbWD5MBV#08Yt1&V{4N3Yz6UYYYYOYRoXUHYUAgMA@@$
$$mMwNWWAXOUOUUMSOUXU6QB}U&VAtYX&Y@M@|X@MRbW$t3HmI<]V]T]5l]1b5O@MMM0MMMV(}Uw58&1}DT}W388\Y3YYY6YmOY1YYYRMWO@@$
$$@MwNbnQWGUOOGR0%YO6VWRYUlaK]VWlWMXYQYYR8QK@wW$mIlU1tlUUWKm@6HU8V#MVYK35Y#GCOYQOOTJM1VY1YY1VY6YMUUYXUX8AOWwk$
$$mw@MSWRO8VVYON@K11YYMUX$&MV]X1YMMM@@GoMOWSmmKY@O5YiYY1|]QMVl{XY{WR10b%a@mXWCm@mmbB8Jl}11t1113mUXOUY6UOUXWw@$
$$mMwMWhRWMDXKUU0711TYKXO]0BVYWYYwAQ1t5}5SSA@@99m(]Dt8Yl#MMD|]]HA1YY1DMMw30mG#V!I%t@$Rt3t1t&&t2WYX%Y?KKUXUR@@$
$$mM@MRRAMmm?oTUI@YttY9WCY@#tWWY@BYTtUQGsJINAm@mmC1UTY1}UA1N{t}11UV%1YMmfCm&ti44i}_=2mfflt]]]}WUVGi6@MYXOXRw@$
$mmM@00AFmwMB#hVUR91)RYW&ON11HM@O112M@000Ngb03OR@fYO}OG3@1)Of3v(]QU1%6Q@m@B<tt##T5@dXSTY111&t&@QY11zDMSVUQWM@$
$$mw@wMQEwDYV0KVU@gKGBV}QmJ|X@mB18fXYt="<)00@wQmD5YQYO&2l(CWI/t?lXR6U&bW@fl({}<|TT]Y]M]]81VYY@BUVY6VVOMdYO0M@$
$$mwMwMWmMOUKQM|YUK$MpGX@@6VAmMh&CRT<C]<{|}@m1S@f1QRYU{U$T]AGV(<CfBl81QAMt)}C>>}Cl/GY0X6Y3]]0@UUV86t1YRdUhMMB$
$$@pM@yWgXXUUHNG&XYMm@@DUMYQmNK1%K{(]2]!<}<5mBR0L1@KYRzhX{tOM>><lYMXVf#bT>>|tl}t]ltVOVB5OY]Q@QU1]8m0Qz/MOVDg@$
$$@pM@MKMOUXURM%zV6RGN%4QOGm@H%&M6{tl}KmmdI1M4WMGCYMXR1W&]TO$>^<]Y0NQYUNt<]SXR0Qb}{UM9@1UKYmOUVtYmmwmmMmMA0k@$
$$mpM@N0QGXUUQ@X1|lBW$SU0MMmmSnOAC<]8DX$@$mm6Q&QM1]KQA1MY{CJK<C<l8YMMOQ#t]QMDSdOYC]YV@MK1XA0AUTTXmgkmmw@MWMM@$
$$mwM@N0NUOUUV0K%YYhYl@8#mme#@@@V|&f@T5&}%AP1Ym$VD]WUA1Kt}|U$}li8VYGNXQ#SXBT31WRMNhMBM@mkR@4H1t&Y@RTR@@mBQMM@$
$$mpM@abMOORGYKK8]ViQ8n@@M08YY9$TUU@N]/QVSQKb%MSUUTNWR1M5}(1%(ll1HtYMRYWAI3N1Ut5t%&NMX%Aw@S8V3]159MR%&D&OWMMM$
$$mwM@MQMUYMRYYYGO#})QNUm0DYYURQQ9DzqM@m0mmN0@hX}XIWBROBT]{5t^1YOHYYRWMUY]1V#R1{t{}NW1YkmSO{t&t1]&ONz1YXU8gMB$
$$mwq@@MMdWmKYYY2#Di}1BRUmWRVXMmmQYXQMwmp@8s@N1QYU%NOQA${]TVKYQ6YUYWX0OT5&t551bh8}Y0VU9@K6O1]lY11VtWKVUUURMMM$
$$mMMMMM#@mjPYUY0md1V1YRROmOf#X6NMKOXFm@M4CNq#tOOYGk0@BTttt4MK@QAVHXYMz%YeY0#4YWRW@BKUjYAOT]t3@0]\#VmYYKWMRBM$
$$mwMMMQH@@KY|6|mmMd{&5JKQO@N1Y&3WpDA@9HVl:YmMYYK9FwKYTtl{10MQKWV|nWYQGAHDYSH85Ym@#KmW&HK4]Y1WB1161Y@N8YHNK0M$
$$mp@gMMRAM%OXYQmB1D8V1#VUHB@mUdA@@pmM}JGRlmpMQm@8VYTtlC}]N@MMWXd8HfWMWC&Y1OW1VC@M#M$YUOG#5l44VT1Y|%#@JVAMWME$
$$mMwMMmQYOOUXfmM8}8N1V1iVYUYR$@MVVHMg1T0mmm@mm$Ut|T>{l{][NWAOKQMR6GLNVYKYY6WRRd@mwBGUO]]}]&@K}1YVY6KFKU0XXM@$
$$mM@MRmNQQfOQmm$81VMYY1Tt{YVGWmNWYY8@#W@$3@m@MMMCGYWdK80wN#MMMHUUUObQYYYXHUWQOWmB]OYV{]5&t8@M11QU1Y%OlQMRQMM$
$$mg@wRMwWXDH@wMSV1QMkiii11]VY@ME7QOUGMmQ}5pB1TlXMNMMRRBADXA8XHOUU\WM#URGXYOQKRW8XXOTt1tt]lA@mCU@X&KYK8WgMWM@$
$$mw@wMqMSXG9mO90Qg@MC%11IT1llYUOmM8WO8@@m@Bt]WbSHXHYYfYGYXXYXYHUVOMMO]QAYWbKRH@MRVT]t]tTSlCHmm@A}/8YYNMMKNNM$
$$m@w0#mm#UWEM68mgm@B1&Y5U]11]tTYbwWQRWN@wRT&U#D8UOXOUXQXXUGUUUXOWMm@MQ9WhU8MNM@V3}l]l5}]C1C1@mQ1&KUU6WMmHQM@$
$$mp@MgwqN8O#KYYm2YU1Y&tmNU]t111tY#NWWWUWMUlUaAQWWWWUQYhGOUOYYYQOKmmmmNDXOW0mm@VI]}t]t6m0N11&O@m31]bAYWM0MQM@$
$$m@wM0MB0SDXOUh0X&kY18Y@NHlY9]Yl1V$g9AD0mG/WM0m@mmmmmm0M98WWAM0@m@xNmBK8MB@D&t{)t%T&MwmmKT11#UmXTYNVU8MQDGM@$
$$m@wgMMM@NAODX#pYY1zzURmB1]tt68>5TD@mmmwmKOWM@89#@8@WS$@mmm@@@##W1{1W@mmQ$f1{]t5t%&O#TY@DS1&t1WmQMRYRMMAOQ0M$
$$m@pwMNdMMMUUY@UY6818{mMC5TT}Ol}lt3t9VV1Y$#MmwQKhl{ltt1YGWPQYGbfRQU6V9#&9]}]]]]]l]LB3}tt]&11V#4mmM1GKMKQDRMM$
$$m@pMMNH@M8bOO@Kf861U@@YVYz&}bmRKt#lt{]Ct8N0]%T9##@MMMRbW3D68#CT%TT><]?C]]l]tt]]]lN1]&l#}Tz8}11@M6]GMMXGKbME$
$$m@@@MMWQMNMOU@RK161WmR&1&1%2m@mItt#}T{]i3T15]t]{]]]|]T55l]]{}]{}{t>t](]T]35]]]]]3B]i}#1tGQT]Y16OYYN@MUWMMMM$
$$m@@@gMWWM0MRVUOf8YY@@KY11T3@mmmV]1t&Y{]]t]t}]Tll{}]l}l]]{t5{t5t{]]t]]I{Ctl%](t]1/Kl%t]SYXmY%%}OU%AMwUYQMMME$
$$m@@@MMWWWMMQs8XYYYKmRV&1kY7dW@WY%#tWm1KCt]]]]t}t]]ttl]]{]]]]]l]T]t%]t]}KmpmmsltlhO#1}1Gt@mO}$KYTYW@NYYQMMME$
$$m@@wMDWWQMNdKYUYzRm@V1VY9Y@RY@A51t3EwmJl]]]6|ttt{]{{5]]]]{l]5%ll]]ltfY@6#9qmNIllCm6%1T#9VkMY&YV&OMMUYYOMRM@$
$$$@pw0NWWfQMM8UYYY@m3t6VY]mYVSmRfT8bmmmDt]t1OBOWWm1|1{]52%tltt}|GtC]10mAtt}]M@|t]Km&%tit&1AmU1V1WNmoKYYQKWkM$
$$mmpwMQWWWW@MNNYU88mDYVYlYwY1YmKT}X40@mC]]t]gmN#93@31t]35VSWm0w@w%]1]2@9lttt0m%t3&mmH{VSY]Q@%&1YQKMVY8YNDFM@$
$$mm@pMWRWWXU0MMSY8YAVK11&DQ]zVmKtY@64@@1]tl%@mBt]%T@m0t]t1@@X(T1Y]]]t8@mtTt}[@YttYm@QC{TttqRi%3Wb@RKkYUNGMMM$
$$mm@wMWWHWXOMmNMG8YVYY1CbM11}zmKV8Yt3mm1ttl1UmB]1t%@mRl5{]M@$t{]]T{]T&Mm5{l%@#Y1t%ImpmYY&8M)81XUKXCY1YUWXbME$
$$$m@pgAWWWWHQMMKMRK8Y6YRmXttl@mm5liTYmMttt]%WmKTTt3hm$]]]%RmKT]]]]]5]1Wm5t1kDYtYt{YN@m@mmA1STYOAwRY16YUWMMMM$
$$$m@pMNWWORWWd$AMd1YYYDQ011VVWmmM1}5YmMttt&lKmK?3<1m@|ll]]N@$Tl335]]t]4m@#mmYtt}1tl]Od$MXVt]YUW@XY658YXAN0M@$
$$m@@pqNdAWHWWQKmAM81YUC8VYVV1@mmK1t1XmO]t}t]MwmYKg@N8I5]]]XmKi@Q]]]]]t@mQYYmp%#]f}]]C]T1l}1lUWIM8UYKXOUWMNMM$
$$m@w@qMNWWWNNRAMmAQNY]\8Y5YYY@mYV]&SYmR]tt]&mmy@@@mNl}tt)]qmm@@@1tt]]]}mWt1@m@O]tt&t1T$1}t4YO5@FXUAUOUOaMNMN$
$$m@@m@mmm0NNAWRRMMWMMUYY%Y1YO@m6l&1SfmR]t]]Q@$fil3@mUltt]]@mpCT3t]]t]]]w3}tY@mmVtt1}1}#t1YOAWmWY5X6UQAmpNMMB$
$$mm@pMMM@mmmmm8!@pmWWMQ%81VVY8U1]1ttWmKt}t)tmm1l1]X@m{tl]]UmAtt{t]]t]l1@mY]}1@mmK1]t11%tQ@BBmpK!WWmmwxMWdMMB$
$$mmwmm0MDMRh@WM$mmwmW00HUY81V15Y$]13@mB]]tt3mM1]l{Ymm1t5t]UmA}tt]t]]tl%@mQlttV@@H6T&]t][OQbmmmmj0#DVAQWRMNM@$
$$$mm@mmmM9KWVY8YY#]N@UAK#f{16111&z&Y@mBttt]@mmT%]5ammKYt]]NmNY]]]]]tTl|AmQt]]t}1}t}TlOUQB35C91]T]{Y1AAmB@M0@$
$$mmm@@@@@mmNY${CYY#U#$0hWMQ]1VYV&1S1#@D]t]tgmMI]]lym@%]]5]W@NC]5t}|ltl1AwM11]T51]T}lBUV19@%t]VT3G{O9@@@MMMBk$
$$mmmwMMMMg@@wmmRwSGYTOg0!HMNQ%1t1&1t}}1]1tYn$@mTmmm@D&ltltSmmgGGdmK1t3tVTt]]t}#&(]UUV4dm1tlljgOF@@@@M0M0MMMM$
$$mm@wqMMMMMMMM@@@@@mm0mmmmQWQN%Si51t&1tttS1YT90#6@#%TTt53l@@mm@@@01ltt]1tttt1TTGGOU6GAmmmM@@@@MMMMMMMMMMMMMB$
$$mm@@@MMMMkgMgMMMMMMM@@g@@MKeWRdUb{ftl1t]13}t1S11f}ltttttt#]Xtt13T]]tt1t#1(]}6QUO162@@M@MMMMMMKMMMMMMM0MNMMM$
$$mm@@MMMggMMMMMMM0M@MNNMMMM@@XRUH@MCo}lTl]tt&ttl]]]}]tttT1tttl]]]tt]ttt]l]lbRXV1YB@g0NMMMDMM#MMMMMMMMMMMMMMM$
$$mm@@wqMMkMMMMBMMMMMMMNMMMMMM@@NQdUA0MQfe6lt]Tttit]}1tttttttt}]tt]l]]]lGQOAV8CWm@@MMMMM@0M0M00MMMMMMMMMM0NMM$
$$mm@ww@MMMMkMMMBBMNMMMMMMMMMMNy@@w#k8TV#WMHQ$uB#]]]]T3>I%333T3]tt}l&dGAD%T1SW@ggMMMMKMdMMMMMMMM00MMMMM0MMNMM$
$$mmmpwMMMMMMMMkMMM0MMMMMMMMMMMMMMMg@0NQbY&V90&R0MDWUYYyg1YYYQQNWAAD8XT8GgW&q@MMMMMMMMM#MMMM00MMMMMMM0BMBMMBB$
$$m@mwMgMBMMMMMMMkBMN0MMMMMMMMMNMMDM0M@@@MmQkSU%}5YVtV#####8)X11ll}h$YGM@@@NMNMM0M0MMMM#MMMM0MMMMMMM0MMMMM00k$
$$mmppgqMMNMM0MMMkMMMMMMMMMMMM@MMMMMRMNNMMM@@@@M@HOUYYYY$YYYYkOWm@m@@@@MMMQNRMMMMMMMNMMMM0MMMMMMMMMM00MMNQK0k$
$$mmm@MMNOWQWMMMM0MMMMMMMM0M0MMMMMMMMMMMMMSRK0MMy@@@@@@@@@@@@@@@@MMMNNMMMMMMMMKMM0MMMMM0MMMNM@B0MMBN0@KQMNMM@$
$$mm@@@MMMMQnMMMMMMMMMMM@MMM0MMMMMMMMMMMMMMMM3MMM@MMKMMMMMNNMMNKM#MMMMMRMMMMMMMMMMMQANNAWW0M0MkMMN@Y$1RANMy0k$
$$m@@@wqMMMQ0MMXWW0MMMMMM#MMMMMMMMMMMMMMMMMMMMMMMDbMMAR9D#NKRRSWMMMMMMMMMMMMMMQU5WQWRRWMHXMB9XO0DVN3MYKW#QMM@$
$$mm@@gMMDDQMMMOMKON48M88VMMMMMMMMMMMDMMMMMMMMM#KKKM0MKM86@MAN9MMM#9MMMMMMMMM1OM@ABTT3t11QM[YA1V&YXYMOKWMWMk@$
$$mm@@MM0MMWNM0RABYBYXN1YOVAB1VBH8B#MMNMMMMM@MMxMxMMMMMM5#0NMMN#KNMMMMMMNMMYHUKMW3tGXC{UnwMVlM8Y&YkYWWKRWWM0@$
$$$m@pMMMMMWM0MWbMWN$@N1Od1YK]QQQMKTY0MKMMMMMM0#SMMMM0K5T3UMMMK9MMMMMMMKNMg08UMhK[bM3VXWMM0%}MU[KVBJMMHgb8MM@$
$$mm@@wM0BNWMMMOWUMMOONVNN6NdtYM0MKTYMMMM0MMMNMMM0MMMMMGtYMMMMNMMMMMMMMD3MMYJD0WOU#HRtVQQQM%Y0RBR3lUMM5ADW0M@$
$$mmmwMMMMMWM0MWNObNKOW6OBlIN#UMMMKlYMMKMMMMMM0MMMMMMMMNh[MMMM0MNMMMKNM#N0MQXKHGH#f3K>O8WRMOV{#0SMYY0M$NMM0k@$
$$mm@wgMMMMWMMMOMR@MBQN1NCg0Q)YY10K]8MM0MMMMMMMMMMMMMM0MADDM@xM@MM9DRNMDMM0M0BOMXWQfRlOHBW&GtKtM$i$YMMMMMM0M@$
$$mm@@MM0@NWM0MYMDXMKYMzNMMMX1QHAMRt#MMMMM0MMMM0MM0MMMMMMKMMMMMMMMRMMRMQMMNMK0RW#Q0N5]YWWW0VON{Yh{NDBMMMMMM0@$
$$$m@wMMMMNXMMkMkBYM1OQ8@NBMNt8BMMRt#MMMMMMMMMMgMNMMMaMMNMMMMMgMN0MMMMNKMMNNU0SQ0R#96]QWAGM6YBNWB@M0NwMQQ#0gw$
$$$m@@wM0&B[MMkMMMMMWANFNMMMK1ONMMKtHMMMMNMMMMMBpNMMMMMMwmMMM0M@MkwMMMMKKMXW\YKWKWWnKTNQbW0NMNMMMgMMMMAdMMMg@$
$$m@m@MMMkM0MMMMMgMMMMMKMNM@KYY6Y2K]8##SMMMNM#MMMM0MMMMMM@MDMq0ww@MQ0MNMM0WMMNBWRKDXRlWRMWMBMBMMMMWANSWWMMMg@$
$$mmm@@MBwMNMNMMAM0MdgBMM0MMN0DR800YWGvQMMMMMMMB@MMM0MMMkwMMBwM@MBMWMMNMKMM0MNQSWNMBKtWbRhM0M8HQOgNG@QxBMMMM@$
$$mm@@qMM0MM0MMWSMWR400M0BMBMM@MMMMMMNMMMMMMMM0kqMMMMD#KMpM0@0N@g@0DBMM0MWWMMMOWRO00%1GQDFRYWGM9b0QR0WRMMBMM@$
$$mmm@MwkMMM@M0KQBWKMWQ&UNUO24M0N0MMMNMMMMMMMMMBwMMBMRM9&@NM@M0MMMMq@M#MMKYMRMRQMVVM%|WQWKR8WUD3RMdM0MMMMMMM@$
$$mmm@wMMMMMMMMMMMW0BMQBR$9HUA&7BYMMXR0MMMMMM00MMMMMMDMdMMMMMgMwMRMMMMMM#Q5UVANQ9KYA6Q8WWM8WXGQdO0MMMwMMMMMM@$
$$$mm@wMNMMkMMMM0MW0N8WRWKHKWYMYBYM&YPQMB0MMMMMMMMMMMMMNMMMMMMMMMMMDMMMMMMJXAQQ$ARQRW0PQAMWfQfM0MNN0MMBM0MMM@$
$$mmm@wwMgMMMMMMBkM0MMMRMRMXIAAYBOM4VRRMMNMMMMMMMMMMRMMNMMMMMMMMMMMMRMMMMM8MSDNDWR#3ARO8MNMMMMkMMMMMMNM0MMkMm$
$$mmm@@MMMM0@gMgMMMkM0MM0Q0QWMMRBUMM6%0MMMMM@MMMMMKMMM9DMNMMMNMMMMMNMMMMMM0MRMRNMMQ8#WW0MM0MMMBMMMMMMMMMMNMmm$
$$mmmm@wMMMMMMgMMMMMMMMMMMMNM&#0MWMhQb%MN0MMMMM0MKMMM@MMMMMM0MMMMMNMNMMMM0MRYRKV0MNMM#QMMMMMMMMMMMM0MNMN0MMmm$
$$mmmmmMBMMMMMgMMMMMMM0BMMM0MNMMMM0NMN0MMMMMMMMMMMM#MMMMQKMMMMMMMMMNMMMMMMMMWMMXNOQMXHWM0MM0MMMMMkMMMMBMMM@mm$
$$$mm$mmMMMMMMMgMMMMM0kMMMMMM0MMMMMMMMMMMMMMMMMMMNMMMMMMNMM0MMMMMM9NMMMMM@MM@0N8KGOMQMUMMNNMNMMMMMMMkMkMMp@mm$
$$mmmmmm@mwgMMMMMMMMMkMMNBMMNMMMMNM00MMBM@MMMMM#MMMMMMMMMMMMMMM@MM#MMK@MMMMNMM0Y!M0MMM0MBMMMMN0MMkMM0MMmMm@mm$
$$mmmmm$mm@mpgMMMMMMMMkMkMM0MMMBMMMMM0MMMBMMNMMMMMMMMMMMNMMMMMMMMMMMMMMNMMMM0MbWMMBMMMMMMMBMMM0NMMMBMmm@@p@mm$
$$m$mm$mmmm$mmpMMkgMMMMBkMMNMMMMMMMMMMM0NMMMMMMMMMMM0MM0MMMK0MMMMMMMMMMMM0MMMMKMMMMMMMMMMM0MMMMMMEMmmmmm@@@mm$
$$mmmmmmmmm$mmmmmMMMMB0MkM0MMMMMM0MNMMMMMMMMMMMMMMMMMMKMK0MMMMMMMMMMMNMMMMMMM@0BMMMMMMN0MMMMMMNwmmmmmmmm@@@mm$
$$mmm$mmmmmmmmmmmmmmMMNNMMMMMMMMM0MNMM0M0MMM0MMMMMMMMMKMMMMMMMNMMMMMMMMMMMMMMMMMMMMMBMMMM@0Mmmmmmmmmmmmm@mm@m$
$$mmmm$$mmm$mmmmmmmmmmmmM0MMDWMMMMMMMMM@M0MMMMMMMMMMMMMMMMMMMMMMM0MMMNMMMM@MMMMMMMMMMMMNBmmmmm$mmmmmmmmm@m@mm$
$$mm$$mmmmmmmmmmmmmmmmmmmmmm0MMMMMMMMMMMM@MB0MMMMMMMMM0MMMMMMMMM0MNMMMMMMMMMMMMMMMEwmm@mmmmmmmmmmmm$mmmm@mm@m$
$$mmmm$$mmm$mmmmmmmmm$mmmmm$mmmmmmmMBMMMKK0MM0MMMKMMMMMMMMMMMMMM@MMMMMMMM00Bwmmmm@mmmmmmmmmmm$mmmmmmmmmm@mmmm$
$$$mmmmm$mm$$$$$m$mmmmm$$mmmmm$mmmmmmmmmmmmmmmmMBBMMBMqBMBMMMBMMMMmmmmmmmmmmmmmmmmmmmmmm$mmmmm$mmmmmm@mmwmmmm$
$$m$m$mmmmmmm$mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm@mmmmmmmmmmm@@@mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm@mmmm$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

La méthode

0 137 86 146 $
45 99 109 136 B
50 96 109 75 N
51 182 112 214 E
54 64 70 96 M
57 146 147 118 &
60 13 120 108 @
67 50 110 137 0
72 130 86 131 K
75 89 141 148 #
76 93 114 131 D
82 111 96 120 R
82 111 101 238 P
84 148 161 87 S
84 174 127 137 6
86 157 170 135 5
87 202 104 230 F
90 93 114 116 A
90 95 117 117 H
91 80 192 161 9
92 92 132 132 8
93 174 131 174 C
100 96 99 94 W
101 174 107 176 I
102 107 208 210 !
103 147 171 136 %
106 114 106 83 Q
108 110 116 118 X
108 194 155 200 (
108 229 97 103 h
109 163 114 104 G
109 206 138 114 4
110 109 117 116 O
112 112 113 120 U
112 112 135 144 V
112 224 76 100 b
112 255 95 215 L
119 155 108 229 f
123 230 98 229 [
127 141 163 146 1
128 128 141 113 Y
128 147 163 180 T
128 227 41 139 k
129 252 212 130 \
155 78 175 130 3
161 71 202 210 ?
165 92 123 203 2
166 185 152 155 t
168 183 119 167 {
171 181 150 136 }
172 210 173 228 >
173 161 161 143 ]
173 168 154 123 l
174 200 224 239 +
175 187 124 144 |
183 199 201 199 <
190 109 195 159 )
191 180 255 255 ^
191 217 134 150 i
193 87 161 206 7
195 195 255 255 "
204 232 255 255 '
204 232 255 255 `
205 110 86 201 Z
205 209 217 220 =
206 123 140 254 /
212 214 255 255 ~
213 238 16 103 p
216 214 130 142 z
216 214 253 253 -
217 233 88 98 n
218 226 105 134 s
219 228 3 9 m
221 116 97 79 d
221 240 221 240 :
223 217 99 192 c
223 227 75 112 e
224 212 66 35 g
224 221 68 220 r
226 235 89 101 o
227 217 100 63 a
227 235 213 224 ;
230 231 19 59 w
231 184 200 70 j
233 220 113 26 q
233 233 56 98 y
233 233 76 85 x
233 233 86 75 u
233 233 109 117 v
255 112 164 124 J
255 255 201 205 _
255 255 214 223 ,
255 255 228 233 .
255 255 255 255 
Cette table se lit de la manière suivante: pour chaque ligne de la forme A B C D X, si on a 4 pixels avec les niveaux de gris comme suit:
AB
CD
alors on doit produire le caractère X. Comme toutes les combinaisons de niveaux de gris ne sont pas représentées dans la table, vous devrez trouver une méthode permettant de savoir pour 4 valeurs quelconques, quelle ligne de la table est la plus proche. Une grande partie de la note portera sur la solution personnelle que vous proposerez pour résoudre ce problème.

Conditions de rendu

Vous travaillerez en binômes. En premier lieu, vous relirez avec profit la charte des projets pour éviter des bavures malheureuses. Vous rendrez ensuite une archive nommée login1-login2.zip contenant les choses suivantes:
  • un répertoire src contenant les sources du projet ainsi qu'un Makefile. Lorsqu'on lance make, on doit obtenir un exécutable nommé asciIRt. La cible clean doit fonctionner correctement. Les sources doivent être propres, en anglais et commentées.
  • un fichier doc.pdf contenant votre rapport qui devra décrire votre travail. En particulier, vous décrirez avec soin et en la justifiant votre solution au problème du choix de la meilleure ligne de la table. Si votre projet ne fonctionne pas complètement, vous devrez en décrire les bugs.

L'exécutable asciIRt devra afficher son mode d'emploi s'il est appelé avec le paramètre --help. Le comportement du programme doit être le suivant:
  • asciIRt img1 img2 ... imgN [-o out]
imgXXX est un nom d'image dans un des 4 formats mentionnés (PNM, PBM, PGM, PPM). out est le nom du fichier de sortie. Si -o out est omis, la sortie se fera sur la sortie standard. Si les noms d'images sont omis, ils seront lus sur l'entrée standard, de façon à pouvoir utiliser le programme dans des pipes. Les images textes seront écrites les unes après les autres, séparées par une ligne vide.

Le projet est à rendre par mail à tous les enseignants (i.e. Guillaume Blin, Mathieu Constant, Pierre Guillon et Sébastien Paumier), au plus tard le vendredi 14 décembre 2007 à 23h.