Добавил:
anersisyan1999
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ЛАБ 3 / LAB-3
.CPP// а Ў®в б ўЁ¤Ґ®бЁб⥬®© ў Ја дЁзҐбЄ®¬ ०Ё¬Ґ
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "dos.h"
#include "graphics.h"
#include "iostream.h"
#include "stdlib.h"
#include "windows.h"
#include "time.h"
int Xmax, Ymax, X0, X1, Y0, Y1, GrDr, GrM, RN[200];
float R[200], Rmax=0.;
char GrP[50]="..//BORLANDC//BGI"; // ђ бЇ®«®¦ҐЁҐ ¤а ©ўҐа®ў BGI
// ”®а¬Ёа®ў ЁҐ ¬ ббЁў § 票© ®в®Ўа ¦ Ґ¬®© дгЄжЁЁ
void make_fun(int N)
{
double x, dx=7.*M_PI/N;
int i;
for (i=0, x=M_PI/2.; i<N; i++, x+=dx)
{
R[i]=(float)(pow(sin(x),2)-pow(cos(x),2)); // б ¬ дгЄжЁп
if(Rmax<R[i]) Rmax=R[i];
}
}
// Џа®Ја ¬¬ ўлў®¤ Ја дЁЄ дгЄжЁЁ нЄа
void main(void)
{
int i, N;
clrscr(); // ЋзЁбвЄ нЄа
gotoxy(20,5);
cprintf("Џа®Ја ¬¬ ўлў®¤ Ја дЁЄ дгЄжЁЁ нЄа ");
gotoxy(13,10);
cprintf("„«п ЇҐаҐе®¤ ў Ја дЁзҐбЄЁ© ०Ё¬ ¦¬ЁвҐ «оЎго Є« ўЁиг");
getch(); // Ћ¦Ё¤ Ґ¬ ¦ вЁп Є« ўЁиЁ...
detectgraph(&GrDr,&GrM); // ЋвЄал«Ё Ја дЁзҐбЁ© ०Ё¬
initgraph(&GrDr,&GrM,GrP);
if (graphresult()<0)
{
gotoxy(18,13);
cprintf("\nЋ€ЃЉЂ! Ќ… ЊЋѓ“ Ћ’Љђ›’њ ѓђЂ”€—…‘Љ€‰ ђ…†€Њ...\n");
getch();
return;
}
else
{
Xmax=getmaxx();
Ymax=getmaxy(); // “бв ®ўЁ«Ё а §¬Ґал нЄа
X0=40;
Y0=Ymax-200; // ‹Ґўл© Ё¦Ё© гЈ®« Ја дЁЄ
X1=Xmax-200;
Y1=200; // Џа ўл© ўҐаеЁ© гЈ®« Ја дЁЄ
N = X1-X0; // Љ®«ЁзҐбвў® в®зҐЄ Ї® ®бЁ X
char Ox[14][6] = {" ", "Pi", " ", "2Pi", " ", "3Pi", " ", "4Pi", " ", "5Pi", " ", "6Pi", " ", "7Pi"};
setlinestyle(0,1,3); // Ї а ¬Ґвал «ЁЁ©
int textLen = textwidth("f(x)=sin^2(x)-cos^2(x) on Pi/2 to 7Pi");
outtextxy((Xmax/2)-(textLen/2), 30, "f(x)=sin^2(x)-cos^2(x) ®в१ЄҐ ®в Pi/2 ¤® 7Pi");
make_fun(N); // ‚лзЁб«Ё«Ё § 票п дгЄжЁЁ
for (i=0;i<N;i++) // Ќ®а¬Ёа㥬 ўбҐ § 票п дгЄжЁЁ
RN[i]=Y0-(int)(R[i]/Rmax*(float)(Y0-Y1));
setlinestyle(0,1,1); // ђЁб㥬 Є®®а¤Ё влҐ ®бЁ
line(X0, Y0+85, X0, Y1);
line(X0, Y0, X1+2, Y0);
outtextxy(X0+5,Y1,"f(x)"); // Џ®¬Ґз Ґ¬ ®бЁ
outtextxy(X1+3,Y0+1,"x");
outtextxy(X0-10, Y0-10, "0");
outtextxy(X0-10, Y1, "1");
outtextxy(X0-17, Y1+155, "-1");
for (i=1; i<14; i++) //ђЁб㥬 ¬ҐвЄЁ Ё Ї®¤ЇЁбЁ ®бЁ •
{
if(i%4==0 || i%6==0 || i%9==0 || i%11==0 || i%13==0)
{
line(X0+(int)(N/14)*i+4, Y0-3, X0+(int)(N/14)*i+4, Y0+3); //ЊҐвЄЁ
outtextxy(X0+(int)(N/14)*i-15, Y0+5, Ox[i]); //Џ®¤ЇЁбЁ
}
else
{
line(X0+(int)(N/14)*i, Y0-3, X0+(int)(N/14)*i, Y0+3); //ЊҐвЄЁ
outtextxy(X0+(int)(N/14)*i-10, Y0+5, Ox[i]); //Џ®¤ЇЁбЁ
}
};
for (i=0;i<N;i++)
{
// ђЁб㥬 Ја дЁЄ дгЄжЁЁ
putpixel(i+X0,RN[i],12);
delay(20);
}
window(10, 12, 70, 23);
outtextxy (200, 50, "Њ ЄбЁ¬ «м®Ґ § 票Ґ дгЄжЁЁ 1");
getch(); // Ћ¦Ё¤ Ґ¬ ¦ вЁп Є« ўЁиЁ...
closegraph(); // ‡ Єалў Ґ¬ Ја дЁзҐбЁ© ०Ё¬
}
getch();
getch();
system("pause");
getch();
}
Соседние файлы в папке ЛАБ 3