Отрисовка графика функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Создания графика функции на СИ Что то не работает помогите найти ошибку
#include 
#include 
#include 
#include 
#define PATHTODRIVE "D:\\borlands\\bdi"
/**/
float f1(float x)
{
int a=5;
return(2*sin(x)*exp(x/a));
}
void grafik()
{
float x1=0;
    x2=25;
float y1,y2;
float x;
float y;
float dx=0.01;
int l=50;
    b=400;
int w=300;
    h=200;
float mx,my;
int x0,y0;
char st[25];
y1=f1(x1);
y2=f1(x1);
x=x1+dx;
do {
    y=f1(x);
    if (yy2) y2=y;
    x += dx;
} while (x<=x2);
my=h/fabs(y2-y1);
mx=w/fabs(x2-x1);
x0=1;
y0=b-abs(y1*my);
line(l,b,l,b-n);
line(x0;y0;x0+w,y0);
outtextxy(1-10,b-h,"y");
outtextxy(l-245,b-130,"x");
 
sprintf(st,"%3.2f", y2);
outtextxy(l+5,b-h,st);
sprintf(st,"%3.2f", y1);
outtextxy(l+5,b,st);
 
x=x1;
do { y=f1(x);
putpixel (x0+x*mx, y0-y*my,10);
x+=dx;
} while (x<=x2);
}
void main (void)
{
int gdriver=DETECT;
int gmode;
int errorcode;
 
inigraph(&gdriver, &gmode, PATHTODRIVE);
errorcode=graphresult();
if (errorcode ==grOk)
{
    setbkcolor (BROWN);
    grafik();
    getchar();
    closeqraph();
}
else {
    printf("Ошибка: %d\n", errorcode);
    puts("Для окончание программы на ");
    getch();
}
}

Решение задачи: «Отрисовка графика функции»

textual
Листинг программы
#include <graphics.h>
#include <studio.h>
#include <conio.h>
#include <math.h>
#define PATHTODRIVE "D:\\borlands\\bdi"
/**/
float f1(float x)
{
int a=5;
return(2*sin(x)*exp(x/a));
}
void grafik()
{
float x1=0;
    x2=25;
float y1,y2;
float x;
float y;
float dx=0.01;
int l=50;
    b=400;
int w=300;
    h=200;
float mx,my;
int x0,y0;
char st[25];
y1=f1(x1);
y2=f1(x1);
x=x1+dx;
do {
    y=f1(x);
    if (y<y1) y1=y;
    if (y>y2) y2=y;
    x += dx;
} while (x<=x2);
my=h/fabs(y2-y1);
mx=w/fabs(x2-x1);
x0=1;
y0=b-abs(y1*my);
line(l,b,l,b-n);
line(x0;y0;x0+w,y0);
outtextxy(1-10,b-h,"y");
outtextxy(l-245,b-130,"x");
 
sprintf(st,"%3.2f", y2);
outtextxy(l+5,b-h,st);
sprintf(st,"%3.2f", y1);
outtextxy(l+5,b,st);
 
x=x1;
do { y=f1(x);
putpixel (x0+x*mx, y0-y*my,10);
x+=dx;
} while (x<=x2);
}
void main (void)
{
int gdriver=DETECT;
int gmode;
int errorcode;
 
inigraph(&gdriver, &gmode, PATHTODRIVE);
errorcode=graphresult();
if (errorcode ==grOk)
{
    setbkcolor (BROWN);
    grafik();
    getchar();
    closeqraph();
}
else {
    printf("Ошибка: %d\n", errorcode);
    puts("Для окончание программы на <Enter>");
    getch();
}
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы