From 07921674c98eb1a67f7f895d078037c2d03b0b5c Mon Sep 17 00:00:00 2001 From: 0niiC Date: Sun, 23 Nov 2025 02:17:17 +0700 Subject: [PATCH] lmao --- proglabs/lab9/compile.sh | 2 +- proglabs/lab9/func/func.c | 424 ++++++++++++++++++++++ proglabs/lab9/func/func.h | 23 +- proglabs/lab9/func/func.h~ | 31 -- proglabs/lab9/func/get.c | 51 +-- proglabs/lab9/func/get.c~ | 83 ----- proglabs/lab9/func/massive.c | 648 ++++++++++++++++++++++++++++++---- proglabs/lab9/func/massive.c~ | 78 ---- proglabs/lab9/func/menu.c~ | 55 --- proglabs/lab9/func/special.c | 6 +- proglabs/lab9/func/test.c | 27 ++ proglabs/lab9/main.c | 26 +- proglabs/lab9/main.c~ | 39 -- proglabs/lab9/prog | Bin 26608 -> 36824 bytes proglabs/lab9/test.txt | 0 15 files changed, 1102 insertions(+), 391 deletions(-) create mode 100644 proglabs/lab9/func/func.c delete mode 100644 proglabs/lab9/func/func.h~ delete mode 100644 proglabs/lab9/func/get.c~ delete mode 100644 proglabs/lab9/func/massive.c~ delete mode 100644 proglabs/lab9/func/menu.c~ create mode 100644 proglabs/lab9/func/test.c delete mode 100644 proglabs/lab9/main.c~ delete mode 100644 proglabs/lab9/test.txt diff --git a/proglabs/lab9/compile.sh b/proglabs/lab9/compile.sh index e70a865..7218769 100755 --- a/proglabs/lab9/compile.sh +++ b/proglabs/lab9/compile.sh @@ -1 +1 @@ -gcc -std=c99 -Wall main.c ./func/get.c ./func/massive.c ./func/menu.c ./func/special.c -o prog +gcc -std=c99 -Wall main.c ./func/get.c ./func/massive.c ./func/menu.c ./func/special.c ./func/func.c -o prog diff --git a/proglabs/lab9/func/func.c b/proglabs/lab9/func/func.c new file mode 100644 index 0000000..a875285 --- /dev/null +++ b/proglabs/lab9/func/func.c @@ -0,0 +1,424 @@ +#include "func.h" + +void func(int x, int (*massive)[COL]){ + int r, c, i, t, ixac, ixar, ixbc, ixbr, one, two; + int a, b, min, max; + int inbuff = 0, null = 0; + int buff[5]; + + switch(x){ + case 31: + clear(); + seeMassive(massive); + printf("\nSearch min and max in massive:"); + min = max = a = *(*(massive)); ixar = 0; ixac = 0; + for(c = 0; c < COL; c++){ + for(r = 0; r < ROW; r++){ + a = *(*(massive + c) + r); + if(a < min){ min = a; ixac = c; ixar = r; } + if(a > max){ max = a; ixbc = c; ixbr = r; } + } + } + printf("\n\tResult: Min:[%lc] | Index [%d;%d]\nMax:[%lc] | Index:[%d;%d]", min, ixac, ixar, max, ixbc, ixbr); + inp; + break; + + case 32: + clear(); + seeMassive(massive); + printf("\nSearch max in every row and column:"); + b = a = *(*(massive)); + for(c = 0; c < COL; c++){ + for(r = 0; r < ROW; r++){ + a = *(*(massive + c) + r); + if(a > b){ b = a; ixac = c; ixar = r; } + } + printf("\n\tColumn [%d] | Max: %lc | Index [%d;%d]", c, b, ixac, ixar); + } + b = a = *(*(massive)); + for(r = 0; r < ROW; r++){ + for(c = 0; c < COL; c++){ + a = *(*(massive + c) + r); + if(a > b){ b = a; ixac = c; ixar = r; } + } + printf("\n\tRow [%d] | Max: %lc | Index [%d;%d]", r, b, ixac, ixar); + } + inp; + break; + + case 33: + clear(); + seeMassive(massive); + printf("\nSearch [] > input"); + inp; + if((i = buffinput(&null, &inbuff, buff)) == -1){ flush(); return; } + a = *buff; + for(c = 0; c < COL; c++){ + for(r = 0; r < ROW; r++){ + b = *(*(massive + c) + r); + if(b > a) + printf("\n\tResult: [%lc] > %lc | Index [%d;%d]", b, a, c, r); + } + } + inp; + break; + + case 34: + clear(); + seeMassive(massive); + printf("\nSearch [] < input"); + inp; + if((i = buffinput(&null, &inbuff, buff)) == -1){ return; } + a = *buff; + for(c = 0; c < COL; c++){ + for(r = 0; r < ROW; r++){ + b = *(*(massive + c) + r); + if(b < a) + printf("\n\tResult: [%lc] < %lc | Index [%d;%d]", b, a, c, r); + } + } + inp; + break; + + case 35: + t = 0; + do{ + clear(); + seeMassive(massive); + printf("\nSearch [] > input in Columns Between m and l"); + finp; printf("k m l\t m & l should be 0-9\n"); + finp; + if((i = buffinput(&null, &inbuff, buff)) == -1){ return; } + a = *buff; + one = *(buff + 2); + two = *(buff + 4); + if(one > two){ one = -1; } + } while(!(two >= '0' && two <= '9') && !(one >= '0' && one <= '9')); + printf("\nSearch [] > %lc in Columns %lc-%lc", a, one, two); + for(; one <= two; one++){ + for(r = 0; r < ROW; r++){ + b = *(*(massive + (one - '0')) + r); + if(b > a){ + printf("\n\tResult: [%lc] > %lc | Index [%d;%d]", b, a, one - '0', r); t++; + } + } + } + if(t == 0) printf("\n\t[] > %lc not found.", a); + inp; + break; + + case 36: + t = 0; + do{ + clear(); + seeMassive(massive); + printf("\nSearch [] > input in Rows Between m and l"); + finp; printf("k m l\t m & l should be 0-9\n"); + finp; + if((i = buffinput(&null, &inbuff, buff)) == -1){ return; } + a = *buff; + one = *(buff + 2); + two = *(buff + 4); + if(one > two){ one = -1; } + } while(!(two >= '0' && two <= '9') && !(one >= '0' && one <= '9')); + printf("\nSearch [] > %lc in Rows %lc-%lc", a, one, two); + for(; one <= two; one++){ + for(c = 0; c < COL; c++){ + b = *(*(massive + c) + (one - '0')); + if(b > a){ + printf("\n\tResult: [%lc] > %lc | Index [%d;%d]", b, a, c, one - '0'); t++; + } + } + } + if(t == 0) printf("\n\t[] > %lc not found.", a); + inp; + break; + + case 37: + t = 0; + do{ + clear(); + seeMassive(massive); + printf("\nSearch [] < input in Columns Between m and l"); + finp; printf("k m l\t m & l should be 0-9\n"); + finp; + if((i = buffinput(&null, &inbuff, buff)) == -1){ return; } + a = *buff; + one = *(buff + 2); + two = *(buff + 4); + if(one > two){ one = -1; } + } while(!(two >= '0' && two <= '9') && !(one >= '0' && one <= '9')); + printf("\nSearch [] < %lc in Columns %lc-%lc", a, one, two); + for(; one <= two; one++){ + for(r = 0; r < ROW; r++){ + b = *(*(massive + (one - '0')) + r); + if(b < a){ + printf("\n\tResult: [%lc] < %lc | Index [%d;%d]", b, a, one - '0', r); t++; + } + } + } + if(t == 0) printf("\n\t[] < %lc not found.", a); + inp; + break; + + case 38: + t = 0; + do{ + clear(); + seeMassive(massive); + printf("\nSearch [] < input in Rows Between m and l"); + finp; printf("k m l\t m & l should be 0-9\n"); + finp; + if((i = buffinput(&null, &inbuff, buff)) == -1){ return; } + a = *buff; + one = *(buff + 2); + two = *(buff + 4); + if(one > two){ one = -1; } + } while(!(two >= '0' && two <= '9') && !(one >= '0' && one <= '9')); + printf("\nSearch [] < %lc in Rows %lc-%lc", a, one, two); + for(; one <= two; one++){ + for(c = 0; c < COL; c++){ + b = *(*(massive + c) + (one - '0')); + if(b < a){ + printf("\n\tResult: [%lc] < %lc | Index [%d;%d]", b, a, c, one - '0'); t++; + } + } + } + if(t == 0) printf("\n\t[] < %lc not found.", a); + inp; + break; + + case 39: + clear(); + seeMassive(massive); + printf("\nSearch all [] between Min & Max in massive."); + min = max = a = *(*(massive)); ixac = 0; ixar = 0; + for(c = 0; c < COL; c++){ + for(r = 0; r < ROW; r++){ + a = *(*(massive + c) + r); + if(a < min){ min = a; ixac = c; } + if(a > max){ max = a; ixar = r; } + } + } + for(c = 0; c < COL; c++){ + for(r = 0; r < ROW; r++){ + if((*(*(massive + c) + r)) >= min && (*(*(massive + c) + r) <= max)){ + printf("\n\tResult: [%lc] | Index [%d|%d]", *(*(massive + c) + r), c, r); + } + } + } + inp; + break; + + case 310: + clear(); + seeMassive(massive); + int max = *(*(massive)); + for(c = 0; c < COL; c++){ + for(r = 0; r < ROW; r++){ + if(*(*(massive + c) + r) > max) + max = *(*(massive + c) + r); + } + } + + do { + printf("\nInput k <= max value %lc: ", max); + finp; + if((i = buffinput(&null, &inbuff, buff)) == -1){ return; } + a = *buff; + if(a > max){ + printf("\nError: k > max value. Try again."); + } + } while(a > max); + for(c = 0; c < COL; c++){ + for(r = 0; r < ROW; r++){ + if(*(*(massive + c) + r) % a == 0){ + printf("\nResult: [%lc] | Index [%d;%d]", *(*(massive + c) + r), c, r); + }}} + inp; + break; + } +} + + + +void func2(int x, int (*massive)[COL]){ + int r,c,sum,i; + int inbuff = 0, null = 0; + int buff[5]; + int k; + + switch(x){ + + case 311: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of even []"); + for (c = 0; c < COL; c++){ + for (r = 0; r < ROW; r++){ + if ((*(*(massive + c) + r)) % 2 == 0) + sum += *(*(massive + c) + r); + } + } + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 312: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of odd []"); + for (c = 0; c < COL; c++){ + for (r = 0; r < ROW; r++){ + if ((*(*(massive + c) + r)) % 2 != 0) + sum += *(*(massive + c) + r); + } + } + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 313: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of []%%k"); + finp; + + if ((i = buffinput(&null, &inbuff, buff)) == -1) return; + k = *buff; + + for (c = 0; c < COL; c++){ + for (r = 0; r < ROW; r++){ + if ((*(*(massive + c) + r)) % k == 0) + sum += *(*(massive + c) + r); + } + } + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 314: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of [] column%%2==0"); + + for (c = 0; c < COL; c += 2){ + for (r = 0; r < ROW; r++){ + sum += *(*(massive + c) + r); + } + } + + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 315: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of [] column%%2!=0"); + + for (c = 1; c < COL; c += 2){ + for (r = 0; r < ROW; r++){ + sum += *(*(massive + c) + r); + } + } + + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 316: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of [] rows%%2==0"); + + for (c = 0; c < COL; c++){ + for (r = 0; r < ROW; r += 2){ + sum += *(*(massive + c) + r); + } + } + + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 317: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of [] rows%%2!=0"); + + for (c = 0; c < COL; c++){ + for (r = 1; r < ROW; r += 2){ + sum += *(*(massive + c) + r); + } + } + + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 318: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of [] above main diagonal"); + + for (c = 0; c < COL; c++){ + for (r = 0; r <= c; r++){ + sum += *(*(massive + c) + r); + } + } + + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 319: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of [] below main diagonal"); + + for (c = 0; c < COL; c++){ + for (r = c; r < ROW; r++){ + sum += *(*(massive + c) + r); + } + } + + printf("\n\tResult: sum %d", sum); + inp; + break; + + + case 320: + sum = 0; + clear(); + seeMassive(massive); + printf("\nSumm of [] on both diagonals"); + + for (c = 0; c < COL; c++){ + sum += *(*(massive + c) + c); + sum += *(*(massive + c) + (ROW - 1 - c)); + } + + printf("\n\tResult: sum %d", sum); + inp; + break; + } +} + diff --git a/proglabs/lab9/func/func.h b/proglabs/lab9/func/func.h index 23ad281..c8c7a8f 100644 --- a/proglabs/lab9/func/func.h +++ b/proglabs/lab9/func/func.h @@ -8,15 +8,18 @@ #define COL 10 #define ROW 10 +#define inp printf("\nInput: "); +#define finp printf("\nFunction Input: "); + // GET int mainget(void); -int numget(void); -int getsymb(int *b,wchar_t *buff); +int buffinput(int *cell, int *inbuf, int *buff); // MASSIVE -void seeMassive(wchar_t (*massive)[COL]); -void setMassive(int x, wchar_t (*massive)[COL]); -void func(int x, wchar_t (*massive)[COL]); +void seeMassive(int (*massive)[COL]); +void setMassive(int x, int (*massive)[COL]); +void func(int x, int (*massive)[COL]); +void func2(int x, int (*massive)[COL]); // MENU void helpMenu(void); @@ -27,5 +30,13 @@ void funcMenu(void); void clear(void); int flush(void); int end(int c); - + +//Massive View +#define intervalincell 1 +#define intervalx 2 +#define intervaly 2 +#define symb1 '*' +#define symb2 '*' +#define symb3 ' ' + #endif diff --git a/proglabs/lab9/func/func.h~ b/proglabs/lab9/func/func.h~ deleted file mode 100644 index da45e2e..0000000 --- a/proglabs/lab9/func/func.h~ +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef FUNC -#define FUNC - -#include -#include -#include -#include -#define COL 10 -#define ROW 10 - -// GET -int mainget(void); -int numget(void); -int getsymb(wchar_t *buff); - -// MASSIVE -void seeMassive(wchar_t (*massive)[COL]); -void setMassive(int x, wchar_t (*massive)[COL]); -void func(int x, wchar_t (*massive)[COL]); - -// MENU -void helpMenu(void); -void setMenu(void); -void funcMenu(void); - -// SPECIAL -void clear(void); -int flush(void); -int end(int c); - -#endif diff --git a/proglabs/lab9/func/get.c b/proglabs/lab9/func/get.c index f2949c4..f0d1af0 100644 --- a/proglabs/lab9/func/get.c +++ b/proglabs/lab9/func/get.c @@ -4,14 +4,14 @@ int mainget(void){ int t=0,x,y=0,num=0; unsigned long input = 0; while( - ((x=getchar())>=32 && t<100) + ((x=getwchar())>=32 && t<100) && ((x>='a' && x<='z') || (x>='0' && x<= '9') || (x>='A' && x<='Z'))){ - // printf("%d %lu ",x,input); + //printf("%d %lu ",x,input); if(x>='a' && x<='z') {x -=('a'-'A');t--;} if(x>='A' && x<='Z') {input = (input*100)+(x);t--;} - // printf("%d %lu\n",x,input); + //printf("%d %lu\n",x,input); if(input>1000000000000000000){printf("input err\n\n");flush();input=0;t--;} if(x>='0' && x<='9'&&num<147483647){num = (num*10)+(x-'0');t--;} else if(num>147483647){printf("num is too big!\n\n");num = 0;t--;} @@ -19,7 +19,6 @@ int mainget(void){ t++; if(end(x))return -1; } - if(end(x))return -1; int exit = 69887384; @@ -56,27 +55,33 @@ int mainget(void){ return y; } - -int getsymb(int *b,wchar_t *buff){ - int t; - *b=0; - wchar_t x; - while((x=getchar())!=end(x)&&x!='\n'&&x!=' '&&*b<5){ - if(x=='/n')x=' '; - *(buff+*b) = x; - *b++; +int buffinput(int *cell, int *inbuff, int *buff){ + setlocale(LC_ALL, ""); + wint_t ch; + *inbuff = 0; + while((ch=getwchar())!='\n'&&*inbuff<5){ + *(buff+*inbuff)=(int)ch; + (*inbuff)++; } - //if(end(x)){flush();return -1;} - - t=0; - if(*buff=='-'){ - for(int i = 1; i<4;i++){ - if(*(buff+i)>='0'&&*(buff+i)<='9')t++; +// -num- -select cell ---------------------------- + if(*buff == '-'){ + *cell = 0; + for(int i = 1;i<(*inbuff);i++){ + if( *(buff+i) >= '0' && *(buff+i) <= '9'){ + *cell = ((*cell)*10) + ((*(buff+i))- '0'); + if(*cell>99){*cell=0;}} + else if (*(buff+i)!='-') {*cell = 0;break;} } - if(*(buff+4)=='-') - if(t==4)return 1; } - t=0; - getchar(); + if(*(buff+(*inbuff-1))=='-'&&*cell>-1)return 1; +//------------------------------------------------- + +// exit ------------------------------------------- + if (*buff =='e'&& + *(buff+1)=='x'&& + *(buff+2)=='i'&& + *(buff+3)=='t'){return -1;} +//------------------------------------------------- + return 0; } diff --git a/proglabs/lab9/func/get.c~ b/proglabs/lab9/func/get.c~ deleted file mode 100644 index 346ba74..0000000 --- a/proglabs/lab9/func/get.c~ +++ /dev/null @@ -1,83 +0,0 @@ -#include "func.h" - -int mainget(void){ - int t=0,x,y=0,num=0; - unsigned long input = 0; - while( - ((x=getchar())>=32 && t<100) - && ((x>='a' && x<='z') - || (x>='0' && x<= '9') - || (x>='A' && x<='Z'))){ - // printf("%d %lu ",x,input); - if(x>='a' && x<='z') {x -=('a'-'A');t--;} - if(x>='A' && x<='Z') {input = (input*100)+(x);t--;} - // printf("%d %lu\n",x,input); - if(input>1000000000000000000){printf("input err\n\n");flush();input=0;t--;} - if(x>='0' && x<='9'&&num<147483647){num = (num*10)+(x-'0');t--;} - else if(num>147483647){printf("num is too big!\n\n");num = 0;t--;} - if(t<0)t=0; - t++; - if(end(x))return -1; - } - - if(end(x))return -1; - - int exit = 69887384; - int help = 72697680; - - int show = 83727987; - - int set = 836984; - - int func = 70857867; - - - y=(input == exit)?-1:y; - y=(input == 'Q')?-1:y; - - y=(input == help)?1:y; - y=(input == 'H')?1:y; - - - y=(input == set)?2:y; - y=(input == 'S')?2:y; - if(y==2&&(num>=1&&num<=9)) y = 20+num; - if(y==2&&(num==10)) y = 200+num; - - - y=(input == func)?3:y; - y=(input == 'F')?3:y; - if(y==3&&(num>=1&&num<=9)) y = 30+num; - if(y==3&&(num>=10&&num<=21)) y = 300+num; - - y=(input == show)?4:y; - y=(input == 'C')?4:y; - - - return y; -} - -int getsymb(int *b,wchar_t *buff){ - int t; - *b=0; - wchar_t x; - while((x=getchar())!=end(x)&&x!='\n'&&x!=' '&&*b<5){ - if(x=='/n')x=' '; - *(buff+*b) = x; - *b++; - } - //if(end(x)){flush();return -1;} - - t=0; - if(*buff=='-'){ - for(int i = 1; i<4;i++){ - if(*(buff+i)>='0'&&*(buff+i)<='9')t++; - } - if(*(buff+4)=='-') - if(t==4)return 1; - } - t=0; - printf("\nx "); - getchar(); - return 0; -} diff --git a/proglabs/lab9/func/massive.c b/proglabs/lab9/func/massive.c index 268ae17..de0ebe0 100644 --- a/proglabs/lab9/func/massive.c +++ b/proglabs/lab9/func/massive.c @@ -1,79 +1,607 @@ #include "func.h" -void seeMassive(wchar_t (*massive)[COL]){ - printf("\t\t\tMassive\n\n[ ] "); - for(int i = 0;iROW*COL-1) - printf("Error cell cannot be bigger %d",ROW*COL-1); - else while(cell>0){ - col = row = 0; - if(col0;){ + if((cell-10)>=0){cell-=10;col++;} + else {cell--;row++;} } - } - - if(c==' '){*(*(massive+col)+row) = o;break;} } - if(c==' ')break; } - helpMenu(); + *(*(massive+col)+row) = re; + helpMenu();printf("Input: "); + break; + + case 22: + while(buffcmd!=-1){ + re = *(*(massive+col)+(row+9)); + *(*(massive+col)+(row+9)) = 'X'; + clear(); + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i(ROW*-1)&&col0;cell--){ + if((cell-10)>=0){cell-=10;col++;} + else {cell--;row--;} + } + } + } + *(*(massive+col)+(row+9)) = re; + helpMenu();printf("Input: "); + break; + + case 23: + while(buffcmd!=-1){ + re = *(*(massive+col)+row); + *(*(massive+col)+row) = 'X'; + clear(); + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i0;){ + if((cell-10)>=0){cell-=10;row++;} + else {cell--;col++;} + } + } + } + *(*(massive+col)+row) = re; + helpMenu();printf("Input: "); + break; + + case 24: + while(buffcmd!=-1){ + re = *(*(massive+(col+9))+row); + *(*(massive+(col+9))+row) = 'X'; + clear(); + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i(COL*-1)){ + *(*(massive+(col+9))+row)=*(buff+i); + col--; + printf("\t%d %d\n",col,col+9); + if(col==-10){col=0;row++;} + } + else buffcmd=-1; + } + break; + case 1: + *(*(massive+(col+9))+row) = re; + row = 0; col = 0; + for(;cell>0;){ + if((cell-10)>=0){cell-=10;row++;} + else {cell--;col--;} + } + } + } + *(*(massive+(col+9))+row) = re; + helpMenu();printf("Input: "); + break; + + case 25: + x=1,y=1,st=1; + while(buffcmd!=-1){ + re = *(*(massive+col)+row); + *(*(massive+col)+row) = '@'; + clear(); + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i0;cell--){ + switch(st){ + case 1: + row++; + if(row==COL-y){st=2;} + break; + case 2: + col++; + if(col==row)st=3; + break; + case 3: + row--; + if(row==x-1){st=4;y++;} + break; + case 4: + if(row==4&&col==5)st=0; + col--; + if(col==row+1){st=1;x++;} + break; + case 0: + buffcmd=-1; + } + } + } + } + *(*(massive+col)+row) = re; + helpMenu();printf("Input: "); break; - default:printf("Eror setmassive-%d\n",x); - } -} -void func(int x, wchar_t (*massive)[COL]){ - switch(x){ + case 26: + x=5,y=5,st=1,row=4,col=5; + while(buffcmd!=-1){ + re = *(*(massive+col)+row); + *(*(massive+col)+row) = '@'; + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i0;cell--){ + switch(st){ + case 1: + row++; + if(row==col){st=2;} + break; + case 2: + col--; + if(col==x-1)st=3; + break; + case 3: + row--; + if(col==row+1){st=4;y--;} + if(row==-1)st=0; + break; + case 4: + col++; + if(col==COL-y){st=1;x--;} + break; + case 0: + buffcmd=-1; + }} + + } + } + *(*(massive+col)+row) = re; + helpMenu();printf("Input: "); + break; + + + case 27: + x=1,y=9,st=3,row=0,col=9; + while(buffcmd!=-1){ + re = *(*(massive+col)+row); + *(*(massive+col)+row) = 'X'; + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i0;cell--){ + switch(st){ + case 1: + row++; + if(row==x){st=2;x++;} + break; + case 2: + col++; + if(col==(COL-1)){st=3;} + break; + case 3: + if(x==ROW){st=0;buffcmd=-1;} + else{y--;col = y;row=0;st=1;} + break; + case 0: + buffcmd=-1; + }} + + } + } + helpMenu();printf("Input: "); + break; + + + case 28: + x=8,y=0,st=3,row=9,col=0; + while(buffcmd!=-1){ + re = *(*(massive+col)+row); + *(*(massive+col)+row) = 'X'; + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i0;cell--){ + switch(st){ + case 1: + row--; + if(row==x){st=2;x--;} + break; + case 2: + col--; + if(col==0){st=3;} + break; + case 3: + if(x==-1){st=0;buffcmd=-1;} + else{y++;col = y;row=9;st=1;} + break; + case 0: + buffcmd=-1; + }} + } + } + *(*(massive+col)+row) = re; + helpMenu();printf("Input: "); + break; + + + + case 29: + x=1,y=0,st=3,row=0,col=0; + while(buffcmd!=-1){ + re = *(*(massive+col)+row); + *(*(massive+col)+row) = 'X'; + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i0;cell--){ + switch(st){ + case 1: + row++; + if(row==x){st=2;x++;} + break; + case 2: + col--; + if(col==0){st=3;} + break; + case 3: + if(col==0&&row==ROW-1){st=0;buffcmd=-1;} + else{y++;col = y;row=0;st=1;} + break; + case 0: + buffcmd=-1; + }} + + } + } + *(*(massive+col)+row) = re; + helpMenu();printf("Input: "); + break; + + case 210: + x=8,y=9,st=3,row=9,col=9; + while(buffcmd!=-1){ + re = *(*(massive+col)+row); + *(*(massive+col)+row) = 'X'; + printf("\t\t\tMASSIVE EDIT\nInput:\n\t\"-num-\" to select cell\n\t \"exit\" to leave\n"); + //printf("\ncol:%d row:%d x:%d y:%d st:%d",col,row,x,y,st); + seeMassive(massive); + printf("Massive input: "); + buffcmd = buffinput(&cell,&inbuff,buff); + switch(buffcmd){ + case -1:break; + case 0: + for(int i = 0;i0;cell--){ + switch(st){ + case 1: + row--; + if(row==x){st=2;x--;} + break; + case 2: + col++; + if(col==(COL-1)){st=3;} + break; + case 3: + if(col==COL-1&&row==0){st=0;buffcmd=-1;} + else{y--;col = y;row=9;st=1;} + break; + case 0: + buffcmd=-1; + }} + } + } + *(*(massive+col)+row) = re; + helpMenu();printf("Input: "); + break; } } diff --git a/proglabs/lab9/func/massive.c~ b/proglabs/lab9/func/massive.c~ deleted file mode 100644 index 3637a1c..0000000 --- a/proglabs/lab9/func/massive.c~ +++ /dev/null @@ -1,78 +0,0 @@ -#include "func.h" - -void seeMassive(wchar_t (*massive)[COL]){ - printf("\t\t\tMassive\n\n[ ] "); - for(int i = 0;iROW*COL-1) - printf("Error cell cannot be bigger %d",ROW*COL-1); - else while(cell>0){ - col = row = 0; - if(col +#include +#include + +void buffinput(int *inbuff, int *buff){ + setlocale(LC_ALL, ""); + wint_t ch; + *inbuff = 0; + + while((ch = getwchar()) != L'\n' && *inbuff < 5){ + buff[*inbuff] = (int)ch; + (*inbuff)++; + } + +} + +int main() { + int buff[5]; + int inbuff = 0; + buffinput(&inbuff, buff); + for(int i = 0; i < inbuff; i++) + printf("%lc - %d ", buff[i], buff[i]); + printf("стопор"); + getchar(); + return 0; +} + diff --git a/proglabs/lab9/main.c b/proglabs/lab9/main.c index 76a4412..9fec409 100644 --- a/proglabs/lab9/main.c +++ b/proglabs/lab9/main.c @@ -3,33 +3,35 @@ int chooseMassiveInput(); int main(){ int x; - + setlocale(LC_ALL, "en_US.UTF-8"); - - wchar_t massive[ROW][COL]; + //massive data + int massive[ROW][COL]; for(int i = 0;i=21 && x<=29) || x==210){ - if(x==2){setMenu();printf("Input: X");} - else setMassive(x,massive); + if(x==2){setMenu();inp;} + else {setMassive(x,massive);flush();} } - else if(x==3 || (x>=31 && x<=39) || (x>=310 && x<=320)){ - if(x==3) {funcMenu();printf("Input: ");} + else if(x==3 || (x>=31 && x<=39) || x==310){ + if(x==3) {funcMenu();inp;} else func(x,massive); } - + else if((x>=311)&&(x<=320)){func2(x,massive);} else if(x==4){ - seeMassive(massive);printf("Input: "); + seeMassive(massive);inp; } else {printf("Input Error \"%d\" is undefind command.\n",x); diff --git a/proglabs/lab9/main.c~ b/proglabs/lab9/main.c~ deleted file mode 100644 index db3b2f6..0000000 --- a/proglabs/lab9/main.c~ +++ /dev/null @@ -1,39 +0,0 @@ -#include "./func/func.h" -int chooseMassiveInput(); - -int main(){ - int x; - - setlocale(LC_ALL, "en_US.UTF-8"); - - wchar_t massive[ROW][COL]; - for(int i = 0;i=21 && x<=29) || x==210){ - if(x==2){setMenu();printf("Input: X");} - else setMassive(x,massive); - } - - else if(x==3 || (x>=31 && x<=39) || (x>=310 && x<=320)){ - if(x==3) {funcMenu();printf("Input: ");} - else func(x,massive); - } - - else if(x==4){ - seeMassive(massive); - } - - else {printf("Input Error \"%d\" is undefind command.\n",x); - printf("\tTo get command list input: help\nInput: ");} - } - return 0; -} diff --git a/proglabs/lab9/prog b/proglabs/lab9/prog index c1b2a84b7a4b0ffdaa20a3d97784a861b2fd4707..f2c51aa2dd1fb0613048365ea6f2888ef814a156 100755 GIT binary patch literal 36824 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 diff --git a/proglabs/lab9/test.txt b/proglabs/lab9/test.txt deleted file mode 100644 index e69de29..0000000