Смекни!
smekni.com

Разработка программы для решения систем линейных уравнений (стр. 4 из 4)

}

}

}

}

}

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("&bsol;n&bsol;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("&bsol;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("&bsol;r&bsol;n „ ­­лҐ ­Ґ ўўҐ¤Ґ­л Ё ­Ґ");

cprintf("&bsol;r&bsol;n Ї®«г祭® аҐиҐ­ЁҐ!");

cprintf("&bsol;n&bsol;n&bsol;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("&bsol;r&bsol;n ЌҐ Ї®«г祭® аҐиҐ­ЁҐ!");

cprintf("&bsol;n&bsol;n&bsol;n&bsol;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("&bsol;r&bsol;n „ ­­лҐ ­Ґ ўўҐ¤Ґ­л!");

cprintf("&bsol;n&bsol;n&bsol;n&bsol;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 с.