Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
McLond
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 3
#1

График y=x^3 - C++

16.04.2011, 21:37. Просмотров 805. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста с написанием программы на С.
Задание: построить график функции y=x^3.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2011, 21:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос График y=x^3 (C++):

Построить график функции y=x^2. График строится из отрезков и алгоритма Брезенхема - C#
Построить график функции y=x^2. График строится с помощью отрезков. Для построения отрезков использовать алгоритм Брезенхема.

Как сделать дочерней ветвью дерева TreeView график или ссылку на график - C++ Builder
Подскажите идею. Стоит следующая задача. Результатом выполнения программы является информационное дерево TTreeView. Необходимо чтобы...

Построить график экспоненты ,декартовый график в логорифмичной шкале. - Matlab
построить график е в степени х,декартовый график в логорефмичной шкале????????????????????

Сделать так чтобы график имел координатнаую сетку, и график был в виде точек, а не кривой - Turbo Pascal
сделать так чтобы была координатная сетка, и график был в виде точек, а не кривой {$R-} uses graph; function F(x:real):real; begin ...

Трехмерный график - ошибок нет, но график не отображается - MathCAD
Построил график, но почему то поле пустое... ошибок нету ну и графика тоже не наблюдаю...

Двумерный график - ошибок нет, но график не выводится - MathCAD
Не получается вывести графики,но I(u) должен идти через 0 и постепенно по экспоненте расти до 1. Формулы все выведены,но сам график не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
prazuber
109 / 109 / 3
Регистрация: 29.04.2010
Сообщений: 240
16.04.2011, 21:49 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <gl/glut.h>
 
void reshape(int w, int h)
{
    glViewport(0,0,w,h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(-1,1,-1,1);
}
 
void display(void)
{
    float x;
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1,1,1);
    glBegin(GL_LINE_STRIP);
    for (x = -1; x<=1; x+=0.01)
            glVertex2f(x,x*x*x);
    glEnd();
    glutSwapBuffers();
}
 
void keyboard(unsigned char key, int x, int y)
{
    if (key=='\33') /* esc */
            exit(0);
}
 
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
    glutInitWindowSize(700,700);
    glutCreateWindow("y=x^3");
    glClearColor(0,0,0,1);
    glEnable(GL_POINT_SMOOTH);
    glDisable(GL_DEPTH_TEST);
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
    glutKeyboardFunc(keyboard);
    glutMainLoop();
    return 0;
}
С помощью OpenGL.
Upd: Чуть поправил неровности.
McLond
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 3
16.04.2011, 21:58  [ТС] #3
Огромное спасибо, но может есть способ без использования OpenGL, а только на стандартных библиотеках <conio.h>, <stdio.h>, <graphics.h>, <stdlib.h>, <math.h>?
Славик___077
21 / 21 / 3
Регистрация: 30.01.2011
Сообщений: 119
16.04.2011, 21:58 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <process.h>
#include <math.h>
#include <alloc.h>
/*
n - kol-vo to4ek
x - mass X
y - mass Y
txt - imya funkcii
*/
 
int q=0, d=0;
 
void gr(int n, double *x, double *y, char *txt)
{
    char t[20];
    struct text_info ti;
    int *xx,*yy, i, mX, mY, ax, ay;
    double minx=x[0], miny=y[0], maxx=x[0], maxy=y[0];
    double kx=0,ky=0, ratioX, ratioY;
    int gdriver = DETECT, gmode, errorcode;
    gettextinfo(&ti);
    window(1,1,80,25);
    /* Ishem min i max x i y*/
    for (i=1; i<n; i++)
    {
        if (x[i]<minx)
        minx=x[i];
        else
        if (x[i]>maxx)
        maxx=x[i];
        if (y[i]<miny)
        miny=y[i];
        else
        if (y[i]>maxy)
        maxy=y[i];
    }
    gmode=EGAHI;
    initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        printf("Graphics error: %s\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        exit(1);
    }
    mX=getmaxx();
    mY=getmaxy();
    /* Ispol`zuem esli hotim setku
    ot nilya, ina4e - kx=minx; ky=miny; */
    if (minx<0)
    kx=0;
    if (miny<0)
    ky=0;
    /* Koefficient perescheta koordinat */
    ratioX=(mX*pow(2.,q))/(maxx-kx);
    ratioY=(mY*pow(2.,q))/(maxy-ky);
    ax=(int)floor((-kx)*ratioX);
    ay=mY-(int)floor((-ky)*ratioY);
    /* Osi */
    setcolor(YELLOW);
    line(0,ay,mX,ay);
    line(ax,0,ax,mY);
    /* Rass4ityvaem ekrannye
    koordinaty */
    xx=(int*)malloc(n*sizeof(int));
    yy=(int*)malloc(n*sizeof(int));
    xx[0]=(int)floor((x[0]-kx)*ratioX);
    yy[0]=mY-(int)floor((y[0]-ky)*ratioY);
    putpixel(xx[0],yy[0],0);
    moveto(xx[0],yy[0]);
    setcolor(10);
    /* Risuem graphic */
    for (i=1; i<n; i++)
    {
        xx[i]=(int)floor((x[i]-kx)*ratioX);
        yy[i]=mY-(int)((y[i]-ky)*ratioY);
        lineto(xx[i],yy[i]);
    }
    setcolor(YELLOW);
    outtextxy(ax+1,0,txt);
    /* Vyvodim podpisi */
    sprintf(t,"%6.2f",maxy);
    outtextxy(ax+1,15,t);
    sprintf(t,"X %6.2f",maxx);
    outtextxy(mX-70,ay-10,t);
    sprintf(t,"%6.2f",minx);
    outtextxy(0,ay-10,t);
    getch();
    /* Posmotreli graphic, zakryvaem
    graphi4eskyi videorezhim */
    closegraph();
    /* Vosstanavlivaem attribut
    i osvobozhdaem pamyat` */
    window(ti.winleft,ti.wintop,ti.winright,ti.winbottom);
    textattr(ti.attribute);
    free(xx);
    free(yy);
}
 
int main()
{
    double x[100], y[100];
    int i;
    for (i=0; i<100; i++)
    {
        x[i] = i*i*i;
        y[i] = i;
    }
    gr(100, x, y, "y=x^3");
    return 0;
}
prazuber
109 / 109 / 3
Регистрация: 29.04.2010
Сообщений: 240
16.04.2011, 21:58 #5
На graphics.h не пишу, извините
McLond
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 3
16.04.2011, 22:08  [ТС] #6
Большое спасибо, что откликнулись
Вы меня буквально спасли!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2011, 22:08
Привет! Вот еще темы с ответами:

Постройка график и линейчатой график функции - MathCAD
Доброе время суток. Не могу никак построить правильно графики функции по заданию в аттаче. Задание по изображению:...

Построить график функции и график её производной - Pascal ABC
Построить график функции (a*x^4)+(b*x^3)/(x^2+c) + График производной

Построить график зависимости (точечный график) - VBA
Здравствуйте, нужно построить график зависимости в VBA :) Грубо говоря график по точкам Помогите пожалуйста... R - вводиться с...

Найти производные функции и на одном графике построить график данной функции, график первой и второй производной. - MathCAD
найти производные первого и второго порядка функции и на одном графике построить график данной функции , график первой и второй...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.04.2011, 22:08
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru