#include "head.h" char buff_input(char *inbuff, char *_buff){ *inbuff = 0; { // INPUT char ch; while((ch=getchar())>' '&&*inbuff='a' && _buff[0] <= 'z') { // Is input - command? const char NUM_OF_CHAR_COMMANDS = 15; char * _charCommands[NUM_OF_CHAR_COMMANDS]; // _charCommands[*]["char"] _charCommands[0] = (char[]){"input"}; _charCommands[1] = (char[]){"getmatrix"}; _charCommands[2] = (char[]){"logic"}; _charCommands[3] = (char[]){"edit"}; _charCommands[4] = (char[]){"random"}; _charCommands[5] = (char[]){"copy"}; _charCommands[6] = (char[]){"destruct"}; _charCommands[7] = (char[]){"getcolum"}; _charCommands[8] = (char[]){"getrow"}; _charCommands[9] = (char[]){"transp"}; _charCommands[10] = (char[]){"determ"}; _charCommands[11] = (char[]){"obr"}; _charCommands[12] = (char[]){"create"}; _charCommands[13] = (char[]){"n"}; _charCommands[14] = (char[]){"exit"}; char cmd = cmd_buff(_buff,_charCommands,NUM_OF_CHAR_COMMANDS); if(cmd==15)return -1; //exit return cmd; //Вернуть комману } return 0; } char cmd_buff(char* _buff,char** _charCommands,char NUM_OF_CHAR_COMMANDS){ for (int i = 0;i0&&*_buff>' '); long int num = 0; char flagIsDec = 1; { // GetNum int i = 0; if(_buff[0]=='-'){i++;flagIsDec = -1;} for(; i= '0' && _buff[i] <= '9') num = (num*10) + (_buff[i]-'0'); num *= flagIsDec; } if (num>MAX_MATRIX_ALIVE)num = MAX_MATRIX_ALIVE; if (num<0)num = 0; return num; } int get_num(void){ char inbuff; char _buff[BUFF_MAX]; while(buff_input(&inbuff,_buff)>0&&*_buff>' '); long int num = 0; char flagIsDec = 1; { // GetNum int i = 0; if(_buff[0]=='-'){i++;flagIsDec = -1;} for(; i= '0' && _buff[i] <= '9') num = (num*10) + (_buff[i]-'0'); num *= flagIsDec; } if (num>INT_MAX)num = INT_MAX; if (num