Вывод графика функции на весь экран - C (СИ)

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

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

Нужна небольшая помощь. Помогите написать программу на языке Си,которая выведет на весь экран график функции y=1/x^2+x+1. Я в этом новичок,поэтому очень надеюсь на вашу помощь.

Решение задачи: «Вывод графика функции на весь экран»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
double f( double x )
{
    return 1 / (x * x) + x + 1;
}
 
int main()
{
    int     i;
    double  xmin, xmax, x, y, w;
 
    printf( "xmin = " ); scanf( "%le", &xmin );
    printf( "xmax = " ); scanf( "%le", &xmax );
  
    w = (xmax - xmin) / 79;
 
    clrscr();
    for ( i = 0; i < 80; i++ ) {
        x = xmin + i * w;
        y = f( x );
 
        if ( (int)x > 0 && (int)x < 25 ) {
            gotoxy( i, (int)y );
            printf( "*" );
        }
 
    }
 
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с графикой и математическими функциями
  2. Определение функции, которую необходимо визуализировать
  3. Ввод границ области определения функции с помощью функции scanf
  4. Вычисление шага w для перебора всех значений x от xmin до xmax
  5. Очистка экрана с помощью функции clrscr
  6. Перебор всех значений x от xmin до xmax с шагом w
  7. Вычисление соответствующих значений функции f(x) для каждого значения x
  8. Проверка, находится ли текущее значение x в пределах от 1 до 24 (для удобства отображения на экране)
  9. Если условие выполняется, то выводится символ * в соответствующую позицию на экране с помощью функции gotoxy и printf
  10. После завершения цикла выводится символ * в позицию (80,25) для завершения графического представления функции

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

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