From 77b5b65d15a2d058f4e9a1de4fa94cb35e9d3ecd Mon Sep 17 00:00:00 2001 From: vj586da Date: Sun, 9 Jan 2022 01:12:46 +0100 Subject: [PATCH] first commit --- sk1a/Makefile | 14 +++++++++++ sk1a/main.c | 39 ++++++++++++++++++++++++++++++ sk1a/main.o | Bin 0 -> 5208 bytes sk1a/maze.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ sk1a/maze.h | 22 +++++++++++++++++ sk1a/maze.o | Bin 0 -> 3440 bytes sk1a/program | Bin 0 -> 18816 bytes 7 files changed, 139 insertions(+) create mode 100644 sk1a/Makefile create mode 100644 sk1a/main.c create mode 100644 sk1a/main.o create mode 100644 sk1a/maze.c create mode 100644 sk1a/maze.h create mode 100644 sk1a/maze.o create mode 100755 sk1a/program diff --git a/sk1a/Makefile b/sk1a/Makefile new file mode 100644 index 0000000..ae923d1 --- /dev/null +++ b/sk1a/Makefile @@ -0,0 +1,14 @@ +all: program + +maze.o: maze.c + gcc -c -g -Wall maze.c -o maze.o + +main.o: main.c + gcc -c -g -Wall main.c -o main.o + +program: maze.o main.o + gcc -g -Wall maze.o main.o -o program + +clean: + rm program + rm *.o diff --git a/sk1a/main.c b/sk1a/main.c new file mode 100644 index 0000000..091005a --- /dev/null +++ b/sk1a/main.c @@ -0,0 +1,39 @@ +#define SZ 5 +#include +#include +#include "maze.h" + +void print_solution(char* matrix,int sz){ + for (int i = 0; i < sz * sz; i++){ + printf("%c ",matrix[i]); + if (i % sz == (sz-1)){ + printf("\n"); + } + } +} + +int main(){ + char tmaze[SZ+1][SZ+1]={ + "*x ", + " x ", + " x ", + " x ", + " ", + }; + char maze[SZ*SZ]; + memset(maze,' ',SZ*SZ); + for (int i= 0; i < SZ; i++){ + for (int j= 0; j < SZ; j++){ + if (tmaze[i][j] == 'x'){ + maze[i*SZ+j] = 'x'; + } + } + } + int r = solve_maze(maze,SZ); + if (!r){ + printf("Nenasiel som riesenie\n"); + } + print_solution(maze,SZ); + + return 0; +} diff --git a/sk1a/main.o b/sk1a/main.o new file mode 100644 index 0000000000000000000000000000000000000000..b67a4f16a6cf21930c45de96cb081640e7d813e6 GIT binary patch literal 5208 zcmbtWeOQy%6~7?~AZS1)isI;tf<>tzI36nwDghFrpn!_f>Ka1`kV*n2L4gOT6hDZF zpu-L=4};dBwN{ZKYWZkD%7?YeaNC2nT1s)l${y`pEpA$O&zpNOyud%(d7k$@_xC&J z+;i`_=lys`7A3dg@emardJVlmltrjQ^kN*s4nxo!G#kY!Om`K9BaFh7H*Crr>XJPL z<9$W3?5RTCi`B4#*Xz`XoLbGMPDP0jtO`@tMbN`=!;VLP${Q+{4HXXa0^2hkK69X^ zLfKOu=AF)(17%NhKPfBgxlGcfCn|~s-agn-VUmsdn-yKMY77w8CyA~jn$6TDGXun4 zOR^XysY`a8!Jw95vH+X{aGHQR0QCek0=URv!EVhAQk2MgKb?zbYGv>Z?}Ob!m#iEk zbbnKqtb!ec70W6V>h5A$In=<^tKgY&71%p2N4KJIcpENBP*&#b;<$2CZ`*(kuN{YA zmx|7CVQ*F;9v9|S2=Xr!%F6MmT#$bpQny0+XjYS~vM{d_Wjej6D!ZBqj%)=K#c`vF z3g205(TqaYv*)t6nnCL{dX+(|No5RaIwnJ_F=+H!%~%h7N1B25L{??f^=`BIin+TD z3AQq!@9}1gsKe_nNd@<1Z~HQzcejZK{p)uv_7KU7JP$-UtK`e=OI^c%sIN=<+Yxkr zS9av$elwNgl<_$`ZSLmJu?fP?U*-5*o{i~h4K6hFWpX-(# z61r2`{z*vaE~)c~AiwUAWWec1(RY;rjN?cm&$&2zaCeR*y4ki{eQemgwWHcRt*Y z9C!Dt4Y{@z8}@iE>lx_PeODjfQ#fWIxl{_DqXyT9sx!W<3^aY5N4@2zO8KAscm z6IXgk)Gl!jPxfE5$nly=VDecIIscad0Rln8&o95`kro=0vQwURr%!a%Y18bA6oK7I z$8v4(?a?c3YnN=hvN7f;y4BTrwBU8y$MRb}rmFMxOCz7f+wDBNxN7b0eviQ$Rm)y> zSXbXr-I96wm~LTzF8|>?epq#JQK|12XW!?I)EK_V-=5R_UPRFTbF0(e&5wH^_IvKV z&pth;!S}H5((9$7QFQH7H~uTQm299}kv)5-w^n-6lo+q6^&z1t&Z^Xu20OIJIPc!M zIpWQLRW4p_5dlT<@plD{vpe|}o!3&-3j+&0!XEB;-3nPSC}YT5I_2Q#C34n=!h{>;Yp@bqi^f|b(E>5*B1onC7L7y1tf z6N+7$<;mIMUzI1G`1a%W#;_Y_daw5$SzWYZU+cDu?cL(})%W)lWV(l+fAl!!E!$+r zuLn+fTrBGj`j^e7)vnU9^Se1=AG(8W4(*cZdms7a70hs4)-p2G_WrBa|8TWm_}7hn z#sk4Ef3!O~aChI(^Y-6G`L5hEZ1OyzmCt#$U*avQO|LbNN;(|;ZuaREv1_J(qjzfw zDam;x{cv-Q@XUp#OZ~q+*LeOPZ2_^4>X*u5Q~Kq8m;3$xe&*i6+G#N@*-;<7(-A#- z^PcF8{J>n-$9^rmtQ(QI*Fb2UTP$!4XH}Mz#NzcjhZ|}VOUegziMLPR>(ebT9qPN` z{>Hrv$_HOcB$B&(zAd~W{Jzq)Ca&Y-2Q`10`|F@%Lhrz353e`w6nY(MG)Kf_hj_jF zjyK+_n3wgSxvBC$-~7o`ay#++CdK|HL604ORZ}j{FL%`-iU60$A<)(pPjO@*zv#dv1msPG7;`^W#SE71?Y$86DECq8nd!*QCAW{krW@R8L=myj^Ci`6>W+F))DzMP4VwOTp_A20G`PL-npvjHiU2BS*7U8zplu1r#CQ*nA$ zXurZMkdLpY&n*&cG2}gRR)(ryubbL{s9tH4lT9n@bjfMqyCwx(UFX3rk@Buk! z^qF}M&7Jj8kvJe$K4h~|+2q_=!N zEW{GR!#vhcg`X7BqUk(~$vov8e?p@Z9DjNq9UOmn20&~rimeYk8&v4K3&O1XY5{S8 z^+12ZZwtsGi(=;iK9=Am9R5v$;e7`}=Q(JBD3EB%A0hZP4qr)d7>ECmU-Gt$yE8OCffuO>yAl%djT$VUH9#o&0TE$uft zT?iR)e{)H@Qa9v|N6?=kV~k}m3WtcL-=fegtRa@r$c^yOpTNVn#ae#mCL%^I4Sf!C z{;%==I2Pu#?jZ~j%}?Lsz=3e{L;tfJ-5BeIkQ4UW1p+Z>emY&F)Y<&9;hFj z5sjzyTZ6gD@~4XP{#@U9Y?y5Q>EuOE<6-@2+bdwa|FVrQ*S4`Kw9(hr|)`!(Szhr}^_R2l*w`fX5)CB>yQ39J^CD zT8AQRnJoS!`Kh4aSvmnXzJkV62clmk59BX6Jk3jW4TVFOo;9JV= z{}>Wa&yV`k^;6t~2QVi$eiw;{{;(Eqd#m_uT>UMI@0HfR%9THxt_?i#L`~>AvgZNADKYu literal 0 HcmV?d00001 diff --git a/sk1a/maze.c b/sk1a/maze.c new file mode 100644 index 0000000..c9a4c2f --- /dev/null +++ b/sk1a/maze.c @@ -0,0 +1,64 @@ +#include +#include +#include "maze.h" +#include +#include + +int solve_maze(char* maze, int size){ + for(int i = 0; i < size * size; i++){ + if(maze[i] == ' '){ + maze[i] = '*'; + continue; + }else{ + i = i+size-2; + continue; + } + } + return 1; +} + +/*int solve_maze(char* maze,int size){ + + char smaze[size+1][size+1]; + char* wmaze = smaze; + int k = 0; + memset(smaze, 0, size); + for (int i = 0; i < size; i++) { + for (int j = 0; j < size; j++) { + smaze[i][j] = maze[k]; + k++; + } + + } + + for (int i = 0; i < size; i++) { + for (int j = 0; j < size; j++) { + printf("%c ",smaze[i][j]); + + } + printf("\n"); + } + + + int r = findWay(0,0,size); + + return r; +} + + + + +int findWay(int i, int j, int size){ + + if(wmaze[i][j] == ' '){ + + wmaze[i][j] = '*'; + if(findWay(i, j+1, size) == 1) return 1; + if(findWay(i+1, j+1, size) == 1) return 1; + + wmaze[i][j] = ' '; + } + return 0; +} + +*/ diff --git a/sk1a/maze.h b/sk1a/maze.h new file mode 100644 index 0000000..2e34662 --- /dev/null +++ b/sk1a/maze.h @@ -0,0 +1,22 @@ +#ifndef _MAZEH +#define _MAZEH + +/** + * Funkcia by mala zobrať vstupnú mriežku a + * vyznačiť na nej cestu z ľavého horného rohu do pravého dolného rohu. + * Mriežka je uložená do jednorozmerného poľa, pričom najprv ide prvý riadok, + * za ním druhý a tak ďalej. + * + * Na mriežke sa nachádzajú znaky: + * ' ' - voľné miesto + * 'x' - stena. Stena nesmie byť prepísaná. + * '*' - poloha potkana. Na začiatku je na 0,0. + * + * @param maze Štvorcová mriežka rozmeru size x size. + * @param size Rozmer mriežky + * @return 1 ak existuje riešenie, 0 inak. + */ +int solve_maze(char* maze,int size); + + +#endif diff --git a/sk1a/maze.o b/sk1a/maze.o new file mode 100644 index 0000000000000000000000000000000000000000..eac353ebeedeb52af4eb000bab8a299b77815e2e GIT binary patch literal 3440 zcmbVOZ%k8H6u+;3p!kp$%9P5S^$!YEi-60lPNlLU2pDxj)McYBJPQsAE5#t2bBJzs z#KmQzs6@LBj8o^IINh@Op|}l!G0NtakbUw4Ocs}AW?8Z&B-_1@b8363U%bidJ-^>Q zzkANR=ib}5-&Rtf5CnovAZy7Zge)P;HIM8(*~}wPkz`U<=o>He?VIp5joqZK6;Z(cUD_8=I0MxIU8kK-*q6*=`#XM%pG6KHKEcHru2?vGz*9Vw-&9 z))y>^m%k3>@{1gkgm81$SABs%U@*`xbfCIlRG{>$%#NF-xQVp|4*xe$Co^ z$@uP}L(k@3QJoitD#!b+TYGOSvc(eX!O0wD@DQ6{XKFRY#)YY~g|iWEYWi9%X}UR2IY zotG#i#p-4gq5=V3GPRa!i}ZxVn1yu)sufp@7IBH8NY9+}Qd$gz#EJp~glJX}rDn=w zYHs?@Sc~P;-v6${Znry$kPuU)3%)g%kfeL$c*y_EH2>4z%InqZS9co>hW&p%Jdj?X z(=Ih?ojJ?12Xi0hW(S0enaU+yrryCD$2&eb*in48<8QqwR;d?1e$J#lysCFl@lov# zOKb86f+_XzZiSfBb3L;y{nt!&dB)KNS>+C0N8jMUkfC=lW#AjtXU`DDPV7E?=G2Lu$4X%cp|F&0Tkc{lU_ovxBRPhYBxX7(^Kp;i#mDgR(|Gm@Nn!b5T}Yjy zMKV{C#`@YlQUwE3QhenZ6o#+oOqiMREZbthNnt!adL#|-ERF|A=77Q0Pk|)uGr?x_ zvzlVd1_R^L^C`EL9FLlH9G?Zafa6;Mmva0uz}qqIxE44bvm%oABPrz!Ted>mjcEf`7OYQ z*OB>e2Yxm5{QO4X6|`qhsF@r0)_EOHVs7+$ruu5Myi&85n5!IK2QfPv8;RK?)jG^o zlC#NGQRCiKPse22;dFYWJrTnWkHhVfA|H*}$xLsd zWsP1(<*R^Q?k01Cr@le*c=tjqsk&m9$5AJRUgpV-R4Qd_hIPZ4^1uk4bHL0uyv?V8 zapARQ<7e4Vl*a3qP#<AvbnD`FCOi3xRxH_ImWg`);N~GKUj`s~;Tk-oY6-H~IdImVW>Wihp!0e|BC_ zkNHrditpt(J(Id?4CzE+_8q=&@jmRc2l0!CE{+PxB>K7 zKahv=M|_JKY))S92mMNPgdX1?>CdSVt$v$XQnX>6Sp9VLK|S)(Vl&++#2;mVHnxsT j%j?;mh_+N$SyHq;ZvCf52}z_zG<`MX--nLS^XvaV8@O|U literal 0 HcmV?d00001 diff --git a/sk1a/program b/sk1a/program new file mode 100755 index 0000000000000000000000000000000000000000..dbdbbc9b9ea463e9835c9879fc70665eacf1fcfa GIT binary patch literal 18816 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 SoyvahdPjp^U%Qh>6#oGnkd