Как вывести график в c
Перейти к содержимому

Как вывести график в c

  • автор:

Построить график функции с помощью символов

Нужно нарисовать график функции в консоли на С++, но проблема в том, что нельзя использовать библиотеки для работы с графикой. То есть нарисовать её нужно с помощью символов (*) и цикла, а я не понимаю, как это сделать.Вот сама функция exp(x-2)-5*x^2+3

#include #include #include double foo(const double x) < return exp(x-2)-5*x*x+3; >int main() < SetConsoleCP(1251); SetConsoleOutputCP(1251); int x,a,b,t; while (true) < std::cout > a; std::cin >> b; if (a > b) < std::cout b" else < break; >> while (true) < std::cout > t; if (t <=0) < >else < break; >> for (int i = a; i > 

Получилось только ось нарисовать. Функция может возвращать как положительные так и отрицательные значения.

Отслеживать
задан 20 мая 2020 в 7:58
1 1 1 бронзовый знак

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

примерно так. Но под вашу функцию надо оси масштабировать. этим займитесь сами В общем и целом подход такой — график «рисуется» в двумерном массиве и потом выводится.

// размеры "экрана" // по оси абсцисс #define scene_length 150 // по оси ординат #define scene_width 40 char scene[scene_length][scene_width*2]; // тут будем график рисовать. по оси ординат делаем в 2 раза больше (под отрицательные значения) for(int x=0;x // тут будем обсчитывать функцию и рисовать график for(int x=0;x // выводим на экран for(int y=scene_width*2-1;y>=0;y--) < printf ("%03d ", y-scene_width); for(int x=0;xprintf("\n"); > return 0; 

Построение графика функции

Разработать программу для построения графика функции у = 2*sinx*e^4/5 . Считать из файла х функции. График функции построить в интервале от -50 до 50. Результатом работы программы будут считаться два массива, которые содержат значения промежуточные значения x и y для интервала [-50; 50]. Возможно кто-то сможет построить график по этим значениям, это будет еще лучше.

К сожалению, решения данной задачи пока нет. Если Вы решили эту задачу, сообщите нам, и мы выложим её на сайте.

Следующие статьи помогут вам в решении данной задачи:
Дата: 13.01.2014
Поделиться:

Комментарии

Ihor Lokki

08.03.2015 Решение с использованием OpenGl:

#include #include #include #include #include #include int count = 0; // Размер масива У,Х float* X; // масив для хранение х-ов float* Y; // масив для хранения у-ов void display() < // Функция перерисовки дисплея glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_LINES); glColor3f(1.0, 0.0, 0.0); glVertex3f(0, 50, 0); // Рисование системи координат glVertex3f(0, -50, 0); glVertex3f(-50, 0, 0); glVertex3f(50, 0, 0); for(int i = -11; i < 8; i++)< glVertex3f(10 + i * 5, -2, 0); glVertex3f(10 + i * 5, 2, 0); >for(int i = -11; i < 8; i++)< glVertex3f(-2, 10 + i * 5, 0); glVertex3f(2, 10 + i * 5, 0); >// Конец рисования системы крдинат glEnd(); glBegin(GL_POINTS); // Рисование точок графика функции float y; for(int i = 0; i < count; i++)< glVertex3f(X[i], Y[i], 0); >glEnd(); glutSwapBuffers(); > int main(int argc, char** argv) < std::vectorarr; // Вектор в котором будем хранить даные из файла std::ifstream fin; // Для вивода даних из файла std::string path; // Путь к файлу do< // Цикл который обеспечывает открития файла std::cout>path; fin.open(path.c_str()); if(!fin.is_open()) < std::cout>while(!fin.is_open()); float i = 0.0; while(!fin.eof())< // Запись даних из файла в вектор fin>>i; arr.push_back(i); > fin.close(); for(int j = 0; j < arr.size(); j++)< // Цикл для подсчота х-ов в диапазоне if(arr[j] >-50.0 && arr[j] < 50.0) // [-50;50] < count++; >> X = new float[count]; // Создание масива с х Y = new float[count]; // Создание масива с У int n = 0; for(int j = 0; j < arr.size(); j++)< // Цыкл для записи даних(х) указаного if(arr[j] >-50.0 && arr[j] < 50.0)< // диапазона в масив Х X[n] = arr[j]; n++; >> for(int j = 0; j < count; j++)< Y[j] = 2*sin(X[j])*pow(M_E,4/5); // Заполнение масива У >// Стандартное создание окна в OpenGl glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(400, 400); glutInitWindowPosition(20, 810); glutCreateWindow("Rownanie"); glClearColor(0, 0, 0, 0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-55, 55, -55, 55, -100, 100); glutDisplayFunc(display); glutMainLoop(); delete [] X; delete [] Y; >
Sancho

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.

�� Rust Journey: Хотите освоить язык программирования, который завоевывает мир?

�� Илон Маск, один из ведущих инноваторов нашего времени, утверждает, что за Rust будущее. А когда последний раз он ошибался в своих прогнозах? ��

✨ Не упустите свой шанс быть в авангарде IT-революции. Подписывайтесь на канал Rust Journey и начните свой путь в захватывающий мир Rust сегодня!

Построение графика функции на языке C?

Добрый день, подскажите как максимально просто построить график функции средствами языка C?

#include #include int main() < float x, y, z, step; printf("input x:\n"); scanf("%f", &x); printf("Input y:\n"); scanf("%f", &y); printf("input step:\n"); scanf("%f", &step); printf("result:\n"); for(int i = 0; i < 32; i++) < z = (sin(x)+cos(y))/(cos(x)-sin(y))*tan(x*y); printf("%.2f\t %f\n", x, z); x += step; >>

5a9ba82c11315920922107.jpeg

В итоге чтобы получить что то максимально похожее на график из Excel:

  • Вопрос задан более трёх лет назад
  • 5729 просмотров

Вывести на консоль график заданной функции

Вывести на консоль график заданной функции y=f(x) для x∈[a,b]. Входные параметры: действительные числа a, b. Предусмотреть расчет диапазона переменной y.
Вывод на консоль: символами: горизонтальная ось – символ «–», вертикальная ось – символ «!», точки графика – символ «*». Допускается выбирать разный масштаб по горизонтальной и вертикальной осям, если это оправдано с точки зрения наглядности. Предусмотреть подписи (сама функция, отрезок [a,b]) в удобном для пользователя, «читабельном» виде.
f(x)=√3x
На языке Си

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Вывести на экран точечный график заданной функции
. Написать программу, которая выводит на экран точечный график функции y=0,5^2+4x-3 . Диапазон.

Вывести график функции на консоль
Вывести на консоль график заданной функции y= f ( x) для x∈ . Входные параметры: действительные.

Вывести таблицу значений заданной функции (любой) и построить график ее производной
пришлите пожалуйста код программы, которая выводит таблицу значений заданной функции (любой) и.

Вывести на экран оси координат с засечками с шагом 1, и построить график заданной функции
написать программу, которая выводит на экран оси координат с засечками с шагом 1, и строит график.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *