From 36da46875a8edb1250d864daccb94dae2a8873a9 Mon Sep 17 00:00:00 2001 From: 0niiC Date: Wed, 19 Nov 2025 11:24:33 +0700 Subject: [PATCH] lab8 --- proglabs/lab8/code.c | 158 ++++++++++++++++++++++++++++++++++++++++++ proglabs/lab8/tmp.out | Bin 0 -> 15848 bytes 2 files changed, 158 insertions(+) create mode 100644 proglabs/lab8/code.c create mode 100755 proglabs/lab8/tmp.out diff --git a/proglabs/lab8/code.c b/proglabs/lab8/code.c new file mode 100644 index 0000000..db9d512 --- /dev/null +++ b/proglabs/lab8/code.c @@ -0,0 +1,158 @@ +#include +#define MAXMASSIVESIZE 10000 + + +void setmass(int *massSize); +int fillmass(int massSize, int *massive); +void viewmass(int massSize, int *massive); +void selfunc(int massive[]); +int flush(void); + +int main() { + int enter, + q = 1, + massSize = 0, + massCreated = 0, + massive[MAXMASSIVESIZE]; + printf("Test massives and pointers\n"); + + do{ + printf("\t\tMain menu\n"); + printf("\tMassive manipulation\n"); + printf("a. SetMassiveSize\n"); + printf("b. FillMassive\n"); + printf("c. ViewMassive\n\n"); + printf("\tExit - g\n\n\n"); + enter = getchar(); + if(flush())return 1; + switch(enter){ + case'a':case'A': + setmass(&massSize); + break; + + case'b':case'B': + if(massSize!=0){massCreated = fillmass( + massSize,massive);flush();} + else printf("\n\tSet massive size first.\n\n"); + break; + + case'c':case'C': + if(massCreated){viewmass(massSize,massive);} + else printf("\n\tFill Massive first.\n\n"); + break; + + case'd': + if(massCreated){selfunc(massive);flush;} + else printf("\n\tFill Massive first.\n\n"); + break; + + case'g':case'G': + q=0;break; + + default: printf("Input Err\n\n");break; + } + }while(q); + return 0; +} + + +void setmass(int *massSize){ + printf("\t\tSetMassiveSize\n"); + printf("Set Massive Size - input integer\n"); + printf("Exit from this menu - input 0\n\n\n"); + printf("Input: "); + int n; + while(scanf(" %d",&n)!=1||n>MAXMASSIVESIZE){ + if(flush())return; + flush(); + if(n>10000)printf("Input cannot be >%d",MAXMASSIVESIZE); + printf("Input Err\nInput: "); + } + + flush(); + + if(n==0) + return; + else + *massSize = n; + return; +} + +int fillmass(int size, int *massive){ + printf("\t\tFill Massive\n"); + printf("You can devide elements with space or enter.\n"); + printf("You also can decide to from which element start with e.\n"); + printf("To exit input g.\n\n\n"); + printf("Input: "); + + + int x, i, e1,e = 0, p=-1, minus = 0; + + for(i = 0;i < size;i++){ + e1 = e = massive[i] = 0; + while(((x = getchar()) != '\n' && x !=' ' + && x != EOF && x != 4) + && ((x>='0' && x<='9') + || x == 'e' || x == '-')) + { + if (x == 'e')e1=1; + else if (e1) e = (e*10)+(x-'0'); + else if (x == '-' && massive[i]==0)minus=1; + else massive[i] = (massive[i]*10) + (x-'0'); + } + + if(x == EOF || x == 3){return 0;} + if(minus && (x == '\n' || x == ' ')){minus = 0; massive[i]*=-1;} + if(e>size) printf("e is out of range.\n"); + else if(e1) {i = e - 1;putchar('\n');} + if(x == 'g'){return 1;} + if(x!='\n' && x!=' ' && x!='e' && x!='-' && !(x>='0'&&x<='9')) + {while((x=getchar())!='\n'&&x!=' '&&x!=EOF&&x!=4);i--;} + if(p!=i&&e1!=1) + printf("Massive - [%d]\t%d\n",i,massive[i]); + p=i; + } + return 1; +} + + +void viewmass(int size, int *massive){ + printf("\t\tView Massive\n"); + for(int i = 0; i < size; i++){ + printf(" | [%6d]\t%d\n",i,massive[i]); + } +} + + +void selfunc(int *massive){ + printf("\tFunctions\t(my - 7|16|24)\n"); + printf("1. \t2. \t3. \n"); + printf("4. \t5. \t6. \n"); + printf("7. \t8. \t9. \n"); + printf("10. \t11. \t12. \n"); + printf("13. \t14. \t15. \n"); + printf("16. \t17. \t18. \n"); + printf("19. \t20. \t21. \n"); + printf("22. \t23. \t24. \n"); + printf("25. \t26. \t27. \n"); + printf("28. \t29. \t30. \n\n"); + printf("\tExit - 0\n"); + + int n; + while(scanf(" %d",&n)!=1){ + if(flush())return; + printf("Input Err\nInput: ");} + flush(); + return; + switch(n){ + case 1: + + } +} + +int flush(void){ + int x; + while((x = getchar())!='\n' && x!=4 && x!=1) + if(x==EOF)return 1; + return 0; +} diff --git a/proglabs/lab8/tmp.out b/proglabs/lab8/tmp.out new file mode 100755 index 0000000000000000000000000000000000000000..c9fd6c8cdb7ab135dfdf776ac9ea2c8fe6428a24 GIT binary patch literal 15848 zcmeHOeQ+Dcbzks9B56^e9VwA4+qzh$EjuMhfFF`AD*{D9I;N6MOO)$O?7$FkBrqlc z7C6X~MwHc|2kw5l{!m(n^dCo$n((0Vt$N!u~y2#FGIx$@jfrC};` zKL}S#D$Tp;m+BRcDeE17hSCcceOL#>v=~RZnQ2kDneC-?q)PEeG-VvIgqzj4S&efj z1w?vHIiC~;9ep~VZW@G+N>HAKaN{O5&P{LA_DsnK6{2+9s}*i)Ku5)p=cO?_@KZZR zICp%^2emy@jmUm4jK-^-!eJ(SbTiX!uKY>dh+6ihyLxAuXTLBbtrMD ztD|)&)-sexW{T8f6l7?LP~(sp<_l1Ks&JrW5IB$AP##4$^Zq!USdK#&!U zQQp=l_eJ`YeX5R>ZYzO(M}qS8+!3FGzj0 z7}b3C#su!5RpJxisqp=duiul`EBPDxe#Y`PE#DecdX_UkwL{5i{&1`$xlkn6w=QWo zQzX~7bSZzMNZueN>NHyVm39a=yoqq$x;eAxJKNXCx=Yx}d6% zoch4U2&x*%>ENAmGWbL?`RIbM6V z70cq&Q+8Eh#vJ>nx^uGmLg#lNE;Ro$&fbkd)QFFhZf>@K()=yrX^Av9Bl&+Io|bBJ zQm41Ky3hmhcqc$?dhkifsEqb8P#c z(G!W8`>EY%j&J`Nn8Mmm;GB=5Gv{kBqUw3%+)})VBPa%zcxrEM5Vi-=hWSUAAAMGc zm^oh4yjeCITJ%p%pZ*IpMj4(y{YBJJLG3wRL(hY&DT3+z$hATN>|V`A6x*xW{fh0= zY>#3OXttx2ZB}f**1jKX{sEkFr~ev$^S5Goiu5+TD98QJaUOe_6ocMVG!>XRGw3ie z@2O2i%$a=-6ZM{Y4LwqrsP{~}qd8=sP|`!*GdDZZh~2NG5$~Cmj&zUr)LTv~d%S1f zbeJCdn6mHjo_XDocH66!bf>+3ZVF;^LME5;I0ts_C7i~k2pzpc)y#>{Jda+Qxz}KI z7QS()5^YARk$zETkf#1hPF#iw+Y^{boPmnzfxgHTI zZ`1iF$+QKgmsY9PPm}3QYG%N%m~VpeCt4YYa&qitnl-|E`qFvCD>;8_l~W9-4esH@OzJU_YEm z^RGcQw&=+|!_7YNseDd(!H}&UKX}C)59M=B^EH$6o=McH_v*qz?+*a&^u8@OdeO{f zXAoAW@}A$Mg1J|-YZUv4W@{Duq-NiKPbOd*PmoS;s$eo5TA<8Nhpy1AZaTE6xIB@$ zt++`dK=V(`i8ZH5f)Hm+&&)K{#kk0Y7REyhxzOdgXTXn*UbV8TrbCx8?ZjM8N-hg~ z!}!64+|1e8D$k5(D)+7N(ABYgn`Z{t`8Xgg*-hnKjMJFZBOYpOen(l8rln@jquGhR z8Ev+zDA)_0U*wwdThRR+Jda*&u)A^7VW_FXvF*tg-_dZGd6yS<<6L>^GHyr({- zYAxPVA5^u1y#ku*Y=a!$xx47v9$gf6H>3?xXJk8d4$DVeF2Hwwlxsp7w}mdAz!g>d zA9(nu%X8Pen4as$Mv=nzK|PlD@7IA z*nXT_Pf*x*pJ<-Uw*tv|xB)`LUWK#jS50Lt3kDN1K58@bWTn98&0>j!mT9|CkbbQM-&z8ynZ zGUH}3+~i+r@X$0A=@Q@5t-nHO;=R z*dJ*2f?{Vh`*p>BPqSYsWuGZ!pDJZXOW9;88!l!06#FmQQ8(E6oAVDMEw~!CAz_>F z#>KgQcS>t{=eb$Rm+m}UprSj^x%_&{>95~h-hR92=F&9ZNV6cjQV!Jo#(W*%JWXhV z)X2&0$^KA|^eg9_HJP&tqoJ#mN(L$!sAQm$fl3B`cNyR>K>b$6HijdaOyaPWF(S#B zF_OY3D=VE5_4WJkMavkrl39VOG=XU{F_ImM*ojn9M0~~p%hsv`^u6nl&)A(98qy*W z^%)N)tj9ImAnHR$61LG|3^p`~hI(MxwUGhZ7)YcuwvSZQh`~Nt+?&MrHzSlzqagwp zJEpeSo+5#hgfyql3|eWu@4w8P<@6JlYxK@q`^WG9!_wWu(#uL{{2I7_yHHWl|ax zC6JvmWTcPB6VW&~VaSh-svXNG`csBQIaQq<^q~uufsUn+snmdxjwAvkAHdP>GeieyCyp-E zw}5WNaX0GzHdOp%>4&NC!?xZ}#(r1}Kg{d>WbX$+_<^Vo5F!AC2vFkzLIi*i0ct-$ zhyV~GKrRA=Xa{0xI^n~+XG8V2y~rb0Y@+YYLg6In6lfgu>u(hb&w=`XUMO4uZT$sa zWq`hir?WaNq96TLp|BbBDXiX1T2!OZw|FX^WBY~YNRwy7s+Dz<(2<<>rjU=@$zaz? z`RVjFR6B57xLhcVkbHI1?$zr);=S(ix|3qZjoa>OzwK5M6ZT;o^@vIC0qI`d^kh{} zpBGHWAl*fDFnskNtz%6J!y>X}VLq!Dd!CR;KwVE=~Fp<~$_Gsx# zWl|Amy^ar*vd}(KD(kd>jWWmWBP}BaZA3gwhn>KqX(N@%VHhdCoJI z>yp2u`-?9ElIOT}^Z)OJ_m8_BcjEy0V>4F&cN%!C z3;6s-pe@kZw$e#~}Tl#^5PJz}kJ_d{(TZ4$g6oZF)3Fpv0vGf!B4 z4=Oic)<3K#x_q{QEGXqTxk^9ya{HG5P|6!cK|dhMXE4Z);V^Kx%L;VZ5bH!+uvGI| zu;tqSE6AH*A9UG&mF%ll3%*{#%JKrv<=T058TpT;yis^`{PGzSvP;X@*C2k1#~uIm zkeBn@Ec=VbT%`l@>#NoYoCef&(c3No;NxXF{IEkPCn^QHH|zAUo&(;3)nfdl{y}C+zZb=Y?>{W-Mg^Cwp`ZIMR>Y}yYZifjN;PEzNP!NzJK#NSvT`*??6B4!W$aLbcBJL zYPIw8@TV?3|L!rZ;f1RU&&__ph3EAHQ+^I$d-weROO5CJ3qxCK`l_Q)a?YQ&5`TjV z<&VvHy~dQ@*%ueL|9^zC7;kJ+)=Y0AWl?ea|2A~R*Z*?=SL7z#{(k_)Y8?8qbDod* z|DA4s%rpI0V6nP!@cjJrMhk=}Y^S&-p5^mU(A;DHybgB$C#w6;^OJErkFEeqCXDC* zRZX=*h_YD`=gfGf??O|I=jX4y#+wdORT#gBWquOr*qls(7E%`nd40VWy89}Fr@ zP~+Y9