#include <iostream.h> #include <conio.h> #include <windows.h> #define ESC 0x1b #define TAB 0x09 int nums[3][3]={0}, opred=0; void drawmatrix(int mx,int my) { system("cls"); HANDLE hnd = GetStdHandle(STD_OUTPUT_HANDLE); COORD ps; int i,j; ps.X=0; for(i=0;i<5;i++) { ps.Y=i; SetConsoleCursorPosition(hnd,ps); cout << "|" << flush; } ps.X=6; for(i=0;i<5;i++) { ps.Y=i; SetConsoleCursorPosition(hnd,ps); cout << "|" << flush; } for(i=0;i<3;i++) for(j=0;j<3;j++) { ps.X=i*2+1; ps.Y=j*2; SetConsoleCursorPosition(hnd,ps); cout << nums[i][j] << flush; } ps.X=8; ps.Y=2; SetConsoleCursorPosition(hnd,ps); opred=nums[0][0]*(nums[1][1]*nums[2][2]-nums[1][2]*nums[2][1]) -nums[0][1]*(nums[0][1]*nums[2][2]-nums[0][2]*nums[2][1]) +nums[0][2]*(nums[0][1]*nums[1][2]-nums[0][2]*nums[1][1]); cout << "= " << opred << flush; // ps.X=(mx-1)*2+1; ps.Y=(my-1)*2; SetConsoleCursorPosition(hnd,ps); } int main() { COORD pos; char ch; int x=1,y=1; drawmatrix(x,y); do { ch=getch(); if(ch==TAB) { if(x<3) x++; else if(y<3) { x=1; y++; } else { x=1; y=1; } } if(ch>='0' && ch<='9') { nums[x-1][y-1]=(int)(ch-'0'); } drawmatrix(x,y); }while(ch!=ESC); return 0; } |