на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка программы для решения систем линейных уравнений
p align="left"> cprintf("%s","isplay");

window(37,3,37,3);

textbackground(LIGHTGRAY);

clrscr();

}

if(n==11)

{

window(30,4,34,4);

textbackground(GREEN);

clrscr();

textcolor(RED);

cprintf("%s","F");

textcolor(BLACK);

cprintf("%s","ile");

window(34,4,34,4);

textbackground(LIGHTGRAY);

clrscr();

}

}

//------------------------------------------------------------------------------

//функция ввода натурального числа

//------------------------------------------------------------------------------

int n_input(int max)

{

char ch;

char str[100];

int i=0;

do

{

ch = (char)getch();

if (i==0)

{

if ((ch>'0')&&(ch<='9'))

{

str[i++]=ch;

putch(ch);

}

}

else

{

if ((ch>='0')&&(ch<='9'))

{

str[i++]=ch;

putch(ch);

}

}

if((ch=='\r')&&(i==0)) //если нажата клавиша ENTER и ничего не введено

{

ch='x';

printf(" \b"); //backspace

}

if ((ch=='\b')&&(i>0)) //если нажата клавиша BACKSPACE

{

i--;

printf("\b \b");

}

if(i==(max+1)) //если достигли max количества цифр

{

i--;

printf("\b \b");

}

}

while (ch!='\r');

str[i]='\0';

for (int j=i;j>0;j--)

printf("\b \b");

printf("%d",atoi(str));

return atoi(str); //преобразуем в число

}

//------------------------------------------------------------------------------

//функция ввода действительного числа

//------------------------------------------------------------------------------

double float_input()

{

const max=6; //максимальное количество цифр в числе

int i=0; //счётчик ввода символа

char ch,buffer[max];

bool flp=0; //флажок ввода символа "."

bool fle=0; //флажок ввода "е"

do

{

ch = (char)getch();

if ((ch=='-')&&((i==0)||(buffer[i-1]=='e'))) //ввод "-"

{ //в начале строки

buffer[i++]=ch; //и после "е"

putch(ch);

}

if ((ch>='0')&&(ch<='9')) //ввод цифр

{

buffer[i++]=ch;

putch(ch);

}

if (((ch=='.')||(ch==','))&&(flp==0)) //ввод плавающей

{ //точки

buffer[i++]='.';

putch('.');

flp=1;

}

if ((ch=='e' || ch=='E') && i>0 && fle==0)

{ //ввод "е"

buffer[i++]='e';

putch('e');

fle=1;

}

if ((ch=='\b')&&(i>0)) //ввод кода

{ //клавиши

i--; //BACKSPACE

cprintf("\b \b");

if (buffer[i]=='.') flp=0;

if (buffer[i]=='E') fle=0;

}

if ((ch=='\r')&&(i==0)) ch='\0';

if(i==(max+1))

{

i--;

cprintf("\b \b");

}

} while (ch!='\r');

buffer[i]='\0'; //"закрытие" строки

for (int j=i;j>0;j--)

cprintf("\b \b");

cprintf("%2.2e",strtod(buffer,0));

return strtod(buffer,0); //преобразование к веществ. значению

}

//------------------------------------------------------------------------------

//О программе

//------------------------------------------------------------------------------

void about()

{

char ch;

window(25,8,59,18);

textbackground(BLACK);

clrscr();

window(24,7,58,17);

textbackground(LIGHTGRAY);

textcolor(BLACK);

clrscr();

cprintf("\n\r ђ §а Ў®вЄ Їа®Ја ¬¬л ¤«п аҐиҐ­Ёп ");

cprintf("\n\r бЁб⥬ «Ё­Ґ©­ле га ў­Ґ­Ё©");

cprintf("\n\n\r ‚ҐабЁп 1.0 2007Ј.");

cprintf("\n\n\r ‚лЇ®«­Ё« бв㤥­в Ја. `Љ-06");

cprintf("\n\r Њ ¬ Ґў `.‚.");

cprintf("\n\n\r „«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ <Enter>");

do

{

ch=(char)getch();

}

while(ch!=13); //пока не нажат ENTER

}

//------------------------------------------------------------------------------

//текст задания

//------------------------------------------------------------------------------

void task()

{

char ch;

window(21,6,62,20);

textbackground(BLACK);

clrscr();

window(20,5,61,19);

textbackground(LIGHTGRAY);

textcolor(BLACK);

clrscr();

cprintf("\n\n\n\r ђ §а Ў®в вм Їа®Ја ¬¬г ¤«п аҐиҐ­Ёп бЁб⥬");

cprintf("\n\r «Ё­Ґ©­ле га ў­Ґ­Ё©. ђҐ «Ё§®ў вм ¬Ґв®¤л: ");

cprintf("\n\r )Їа®бвле ЁвҐа жЁ©; Ў)‡Ґ©¤Ґ«п. ЏаҐ¤гᬮ-");

cprintf("\n\r ваҐвм ўў®¤ зЁб« га ў­Ґ­Ё©(¤® 10), ¬ в-");

cprintf("\n\r аЁжл Є®нддЁжЁҐ­в®ў Ё ўҐЄв®а бў®Ў®¤­ле ");

cprintf("\n\r з«Ґ­®ў.");

cprintf("\n\n\n\n\n\r „«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ <Enter>");

do

{

ch=(char)getch();

}

while(ch!=13); //пока не нажат ENTER

}

//------------------------------------------------------------------------------

//окно help

//------------------------------------------------------------------------------

void help()

{

char ans;

int h_num=1;

do

{

menu(); //отрисовка меню

window(3,4,12,5);

textbackground(BLACK);

clrscr();

window(2,3,11,4);

textbackground(LIGHTGRAY);

clrscr();

textcolor(RED);

cprintf("%s"," A");

textcolor(BLACK);

cprintf("%s","bout");

textcolor(RED);

cprintf("%s","\n\r T");

textcolor(BLACK);

cprintf("%s","ask");

cursor(h_num+5);

ans=(char)getch();

if(ans==80) {if(h_num!=2) h_num++;} //если нажали "стрелку вниз"

if(ans==72) {if(h_num!=1) h_num--;} //если нажали "стрелку вверх"

}

while((ans!=27)&&(ans!='a')&&(ans!='A')&&(ans!='t')&&(ans!='T')&&(ans!=13));

if((ans=='t')||(ans=='T')||((h_num==2)&&(ans==13)))

{

window(2,3,14,6);

textbackground(BLACK);

clrscr();

task(); //окно вывода текста задания

}

if((ans=='a')||(ans=='A')||((h_num==1)&&(ans==13)))

{

window(2,3,14,6);

textbackground(BLACK);

clrscr();

about(); //окно вывода информации о разработчике

}

}

//------------------------------------------------------------------------------

//функция ввода данных

//------------------------------------------------------------------------------

void input(double **&A,double *&B,int &n)

{

char ch;

window(8,3,20,6);

textbackground(BLACK);

clrscr();

window(15,6,64,18);

textbackground(LIGHTGRAY);

clrscr();

textcolor(BLACK);

cprintf("%s","\n\n\r ‚ўҐ¤ЁвҐ зЁб«® га ў­Ґ­Ё© (1..10)");

window(48,8,51,8);

textbackground(BLACK);

textcolor(LIGHTGRAY);

clrscr();

bool fl=false;

do //защита от ввода числа уравнений более 10

{

n=n_input(2); //функция ввода двузначного числа

if((n<=10)&&(n>=1)) fl=true;

else clrscr();

}

while(fl!=true);

A=(double**)malloc(n*n*sizeof(double)); //выделение памяти для массива

B=(double*)malloc(n*sizeof(double));

window(15,10,64,10);

textbackground(LIGHTGRAY);

clrscr();

textcolor(BLACK);

cprintf("%s","\r ‚ўҐ¤ЁвҐ н«Ґ¬Ґ­вл ¬ ваЁжл Є®нддЁжЁҐ­в®ў");

window(15,11,64,11);

textbackground(LIGHTGRAY);

clrscr();

for(int i=0;i<n;i++)

{

A[i]=(double*)malloc(n*sizeof(double));

for(int j=0;j<n;j++)

{

clrscr();

cprintf("\r A[%d][%d]=",i+1,j+1);

A[i][j]=float_input(); //ввод действительного числа

}

}

window(15,13,64,13);

textbackground(LIGHTGRAY);

clrscr();

cprintf("%s","\n\n\r ‚ўҐ¤ЁвҐ н«Ґ¬Ґ­вл ўҐЄв®а бў®Ў®¤­ле з«Ґ­®ў");

window(15,14,64,14);

textbackground(LIGHTGRAY);

clrscr();

for(int i=0;i<n;i++)

{

clrscr();

cprintf("\r B[%d]=",i+1);

B[i]=float_input(); //ввод действительного числа

}

window(15,17,64,17);

textbackground(LIGHTGRAY);

clrscr();

cprintf("%s","\r „«п Їа®¤®«¦Ґ­Ёп ­ ¦¬ЁвҐ <Enter>");

do

{ch=(char)getch();}

while(ch!=13); //пока не нажат ENTER

}

//------------------------------------------------------------------------------

//функция решения

//------------------------------------------------------------------------------

void decision(double **&A,double *&B,double *&X,int &n,int &s)

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.