Как войти в графический режим? - C (СИ)

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

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

#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PATHTODRIVER ” d:\\borlandc\\bg.i\"
 
 floa t fl ( float x)
{
int a=5;
return(2 * sin(x) * exp(x/a));
 
}
void grafik{)
{
float xl=0, 
float  ?2 =25;
float yl,y2;
float ?;    
float dx= 0.01; 
int. l=50;
int b=4 00;
int w=300,  
n=200;
float m?,m?;  
 int ?0,?0; 
char st[25];
y1 = fl(x1);
y2 = fl(xl);
x = xl + dx;
do {
y = fl(x);
if (y < yl) yl = y;
if (y > y2)
y2 = y;
x+=dx;

} while (x <=x2);
 mx =h/fabs (y2-yl);
my = w/tabs(x2-x1);
 
/* oci */
 x0 = 1;
y0=b-abs (yl *my) ;
line( 1, b, 1, b-h) ;
line{x0,y0,x0 + w,y0);

outtextxy(1-10, b-h, "?");
 outtextxy(l+245,b-i30,"x");

sprintf (st, " % 3 . 2.f" , y2 ) ;
outtextxy{l+5,b-h,st);
sprintf(st,"% 3.2 f", yl) ;
out textxy(1 + 5,b, st);

x = xl ;
do { y = fl(x) ;
putpixel (x0+x*m.x, y0-y*my, 10);
x + =dx;
} while (x <= x2);
}
void main (void)
 
int  gdriver = DETECT; /* ??????? */
int gmode;  /* ????? */
int  errorcode; /* ??? ??????? */

initgraph(&gdriver,&gmode,PATHTODRIVER);
errorcode=graphresult();
if (errorcode==grOk)
{
setbkcolor(BROWN) ; 
grafik () ;
 qetchar () ;
 closegraph () ;
}
else {
printf("Error: %d\n",errorcode);
puts("Enter key for exit program");
getch(); 
}
}
1 Нужно войти в графинный режим консоли и должен график на синем фоне вывестись 2 вместо функции return(2 * sin(x) * exp(x/a)); я хочу return(ctg(ax+b)); 3)что изменить что бы цвет функции был желтым?

Решение задачи: «Как войти в графический режим?»

textual
Листинг программы
#include "stdafx.h"
//у = 2sin(x)*exp(x/a)
#include <graphics.h>
#include <cstdio>
#include <math.h> 
 
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];//изображение числа
 
/* функция, график которой нужно построить */
float fl(float x)
{
    int a = 5;
    return(2 * sin(x) * exp(x / a));
}
void grafik()
{
    
    y1 = fl(x1);//минимум
    y2 = fl(x2);//максимум значение функции на отрезку х1 и х2
 x = x1 + dx;
    do {
        y = fl(x);
        if (у < y1) y1 = у;
        if (y > y2)
            y2 = у;
        x0 += dx;
 
 
    } while (x <= x2);
    /* Расчет масштабу по осям */
 
    my = h / fabs(y2 - y1);
    mx = w/fabs(x2-x1);
 
    /* ocи */
    float x0 = 1;
    float y0 = b - abs(y1*my);
    line(1, b, 1, b - h);
    line ( x0, y0, x0 + w, y0);
    /* обозначение  осей координат */
    outtextxy(1 - 10, b - h, "у");
    outtextxy(l + 245, b - 130, "x");
    /* максимальное и минимальное значении функции*/
    sprintf(st, " % 3 . 2.f", y2);
    outtextxy{ l + 5, b - h, st);
    sprintf(st, "% 3.2 f", yl);
    out textxy(1 + 5, b, st);
//Построение графика
        x = xl;
    do {
        у = fl(x);
        putpixel(x0 + x*m.x, y0 - y*my, 10);
        x + = dx;
    } while (x <= x2);
}
 
 
void main(void)
{
int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "  ");//точка входа в графический режим
 
int   errorcode = graphresult();//код ошибки
if (errorcode == grOk)
        {
    setbkcolor(BLUE);//цвет фона
    grafik();
    getchar();
    closegraph();
        }
else {
    printf("Error: %d\n", errorcode);
    puts("Enter key for exit program");
    system("pause");
     }
}

Объяснение кода листинга программы

  1. Объединение файлов stdafx.h и приводит к ошибке компиляции. Правильно будет включить stdafx.h в начало кода, а затем включить .
  2. В функции main() переменная gdriver инициализируется значением DETECT. Это означает, что библиотека графики будет автоматически определять, какая библиотека графики доступна на компьютере.
  3. В функции main() после вызова функции grafik() вызывается функция getchar(). Эта функция ожидает нажатия клавиши для продолжения выполнения программы.
  4. Функция main() закрывает графический режим с помощью функции closegraph().
  5. В функции grafik() используется функция sin() и exp() из библиотеки math.h.
  6. В функции grafik() используется функция putpixel() для отображения точек на графике.
  7. В функции grafik() используется функция outtextxy() для отображения текста на графике.
  8. В функции grafik() используется функция line() для рисования линий на графике.
  9. В функции grafik() используется переменная dx для увеличения аргумента x.
  10. В функции grafik() используется переменная y0 для установки начальной точки Y.
  11. В функции grafik() используется переменная mx для масштабирования по оси X.
  12. В функции grafik() используется переменная my для масштабирования по оси Y.
  13. В функции grafik() используется переменная x0 для установки начальной точки X.
  14. В функции grafik() используется переменная y1 для хранения минимального значения функции.
  15. В функции grafik() используется переменная y2 для хранения максимального значения функции.
  16. В функции grafik() используется переменная x1 для хранения нижней границы аргумента функции.
  17. В функции grafik() используется переменная x2 для хранения верхней границы аргумента функции.
  18. В функции grafik() используется переменная l для установки левого нижнего угла области графика.
  19. В функции grafik() используется переменная b для установки правого верхнего угла области графика.
  20. В функции grafik() используется переменная w для хранения ширины области графика.
  21. В функции grafik() используется переменная h для хранения высоты области графика.

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


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

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

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