}
}
}
}
}
ch_out=(char)getch();
if((ch_out==80)&&(xx!=n)) xx++; //при нажатии "стрелки вниз" прокрутка вниз
if((ch_out==72)&&(xx!=5)) xx--; //при нажатии "стрелки вверх" прокрутка вверх
if((ch_out==77)&&(yy!=n)) yy++; //при нажатии "стрелки вправо" прокрутка вправо
if((ch_out==75)&&(yy!=5)) yy--; //при нажатии "стрелки влево" прокрутка влево
}
while(ch_out!=27); //при нажатии ESC
//скроллинг становится неактивным
window(4,6,77,10); //окно вывода системы уравнений(неактивное)
textbackground(LIGHTGRAY); //серый фон
textcolor(BLACK);
clrscr(); //выводим систему уравнений в новом неактивном окне
for(int i=xx-5;i<xx;i++)
{
cprintf("\n\r ");
for(int j=yy-5;j<=yy;j++)
{
if(j==n) cprintf(" = %.2f",B[i]); //вывод вектора свободных членов
else
{
if(j<n)
{
if(A[i][j]>0) cprintf(" + %.2fX(%d)",A[i][j],j+1);
else
{
temp=A[i][j]*(-1);
cprintf(" - %.2fX(%d)",temp,j+1);
}
}
}
}
}
window(22,22,53,22);
textbackground(BLUE);
textcolor(WHITE);
clrscr();
cprintf("\r„«п Їа®¤®«¦ҐЁп ¦¬ЁвҐ <Enter>"); //подсвечиваем строку синим фоном
} //else(n<=5)...
}
do //пока не нажата клавиша ENTER
{ch_out=(char)getch();}
while(ch_out!=13);
}
//------------------------------------------------------------------------------
//==============================================================================
main()
{
int n, //число уравнений
m_num=1,
s; //число итераций
char ch,ch2;
bool inpflag=false,decflag=false; //флаги состояния
double *X, //вектор решений
**A, //матрица коэффициентов
*B; //вектор свободных членов
_setcursortype(_NOCURSOR); //убираем курсор
do
{
menu();
cursor(m_num);
ch=(char)getch();
if((ch=='h')||(ch=='H')||((ch==13)&&(m_num==1))) help();
if((ch=='i')||(ch=='I')||((ch==13)&&(m_num==2)))
{input(A,B,n);inpflag=true;}
if(((ch=='o')||(ch=='O')||((ch==13)&&(m_num==4)))&&(inpflag==false)&&(decflag==false))
{
window(28,9,55,14);
textbackground(BLACK);
clrscr();
window(27,8,54,13);
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
cprintf("\r\n „ лҐ Ґ ўўҐ¤Ґл Ё Ґ");
cprintf("\r\n Ї®«г祮 аҐиҐЁҐ!");
cprintf("\n\n\r „«п ўл室 ¦¬ЁвҐ Esc");
do
{ch2=(char)getch();}
while(ch2!=27);
}
if(((ch=='o')||(ch=='O')||((ch==13)&&(m_num==4)))&&(inpflag==true)&&(decflag==false))
{
window(28,9,55,14);
textbackground(BLACK);
clrscr();
window(27,8,54,13);
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
cprintf("\r\n ЌҐ Ї®«г祮 аҐиҐЁҐ!");
cprintf("\n\n\n\r „«п ўл室 ¦¬ЁвҐ Esc");
do
{ch2=(char)getch();}
while(ch2!=27);
}
if(((ch=='o')||(ch=='O')||((ch==13)&&(m_num==4)))&&(inpflag==true)&&(decflag==true))
{output(A,B,X,n,s);decflag=false;}
if(((ch=='d')||(ch=='D')||((ch==13)&&(m_num==3)))&&(inpflag==true))
{decision(A,B,X,n,s);decflag=true;}
if(((ch=='d')||(ch=='D')||((ch==13)&&(m_num==3)))&&(inpflag==false))
{
window(28,9,55,14);
textbackground(BLACK);
clrscr();
window(27,8,54,13);
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
cprintf("\r\n „ лҐ Ґ ўўҐ¤Ґл!");
cprintf("\n\n\n\r „«п ўл室 ¦¬ЁвҐ Esc");
do
{ch2=(char)getch();}
while(ch2!=27);
}
if(ch==77) {if(m_num!=4) m_num++;} //клавиши "стрелка вправо" и
if(ch==75) {if(m_num!=1) m_num--;} //"стрелка влево"
}
while(ch!=45); //пока не нажата комбинация ALT+X
}
//==============================================================================
Приложение Г
(справочное)
Библиографический список
1. Боглаев, Ю.П. Вычислительная математика и программирование: Учебное пособие для студентов ВТУЗов[текст]/Ю.П. Боглаев. -М.: Высшая школа, 1990.- 544с.
2. Подбельский, В.В. Программирование на языке Си: Учебное пособие [Текст]/ С.С. Фомин - М.: Финансы и статистика, 1998. - 600 с.