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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Астик
12 / 12 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
#1

Точечный график функции - C++

07.11.2010, 14:08. Просмотров 1855. Ответов 16
Метки нет (Все метки)

Помогите пожалуйста, в книжке приводится такой пример задачи
Написать прог. которая чертит на экране точечный график функции у=0.х^2+4х-3. Диапазон изменения
аргумента: от -15 до 5; шаг приращения аргумента: 0,1. График вывести на фоне координатных осей, точка пересечения которых должна находится в центре экрана.

и в качестве решения вот этот код
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
115
116
117
118
119
120
121
122
123
124
125
126
127
#include "stdio.h"
#include "conio.h"
#include "graphics.h"
 
#define HB 10 // ¬*ЄбЁ¬*«м*®Ґ Є®«ЁзҐбвў® §**зҐ*Ё©
#define WS 300
#define HS 150
 
   char  head[40];    // §*Ј®«®ў®Є
   float kurs[HB];    // ¤***лҐ
   char* date[HB][5]; // Ї®¤ЇЁбЁ ¤***ле - ¤*в* ў д®а¬*⥠dd.mm
 
   int nrec; // Є®«ЁзҐбвў® н«Ґ¬Ґ*в®ў ¤***ле 
 
   int dx;     // и*Ј Ї® е
   int py[HB];  // y-Є®®а¤Ё**вл в®зҐЄ ** Ја*дЁЄҐ
 
// ўў®¤ Ё ®Ўа*Ў®вЄ* Ёб室*ле ¤***ле
void  LoadData()
{
 
     FILE* f; // д*©« ¤***ле
 
     int i;
 
    if ( (f = fopen("c:\\borlandc\\cpp\\kurs.txt", "rt")) == NULL)
    {
        printf("ЋиЁЎЄ* ¤®бвгЇ* Є д*©«г ¤***ле\n");
        getch();
        return;
    }
 
    fscanf(f,"%s",head);
    printf("%s\n",head);
 
    i = 0;
    while ((! feof(f) ) && ( i < HB ))
    {
        fscanf(f,"%s",&date[i]);
        printf("%s\n",date[i]);
 
        fscanf(f,"%f",&kurs[i]);
        printf("%5.2f\n",kurs[i]);
        i++;
    }
    nrec = i;
    fclose(f);
 
    // **©вЁ ¬Ё*Ё¬*«м*л© н«Ґ¬Ґ*в ¬*ббЁў*
    float min = kurs[0];
    float max = kurs[0];
 
    for ( i = 1; i < nrec; i++ )
    {
        if ( kurs[i] < min)
            min = kurs[i];
 
        if ( kurs[i] > max)
            max = kurs[i];
     }
 
    // ўлзЁб«Ёвм y-Є®®а¤Ё**вл в®зҐЄ
    for (i=0; i < nrec; i++)
        py[i] = (HS-20) * (kurs[i]- min)/(max - min)+2;
 
    return;
}
 
void Graphic()
{
    int x0, y0;
    int x;
 
    int dx;
    int i;
 
    char st[20];
 
    x0 = 10;
    y0 = HS + 20;
    dx = (WS - 2* x0)/ (nrec );
 
    outtextxy(x0,10, head );
    rectangle(1,1,WS,y0+10);
 
    x =x0;
    moveto(x,y0-py[0]);
    x =x +dx;
 
    for ( i = 1; i < nrec; i++)
    {
      lineto(x,y0-py[i]);
       x= x+dx;
    }
 
    x = x0;
    for ( i = 0; i < nrec; i++)
    {
     sprintf(st,"%2.2f", kurs[i]);
     outtextxy(x,y0 - py[i]-10,st);
       x= x+dx;
    }
}
 
void main(void)
{
   int gdriver = DETECT;
   int gmode;            
   int errorcode;        
 
   initgraph(&gdriver, &gmode, "c:\\borlandc\\bgi\\");
   errorcode = graphresult();
 
   if (errorcode != grOk)  // (r)Ёрцт  р-р¦р "р ¦рр ?* ¤. *?ірї 
   {
      printf("ЋиЁЎЄ*: %d\n", errorcode);
      puts("„«п §*ўҐаиҐ*Ёп **¦¬ЁвҐ <Enter>");
      getch();
      return;
   }
 
   LoadData();
   Graphic();
 
   getch();
   closegraph();
}
но у меня в си 2010 ругается на
C++
1
#include "graphics.h"
C++
1
2
3
initgraph
closegraph();
graphresult();
объясните кто может ! что мне делать ? очень хочу освоить эту тему )!

Добавлено через 26 минут
(у=0.х^2+4х-3.) извините ошибка вышла ) у=0.5*х^2+4*х-3.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2010, 14:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Точечный график функции (C++):

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

Как вывести на экран точечный график функции? - C++
Написать программу, которая выводит на экран точечный график функции у=1.9^x. Диапазон изменения аргумента от -3 до 3, шаг аргумента - 0.3....

Написать программу, которая выводит на экран точечный график функции - C++
Народ помогите пожалуйста написать программу буду признателен!!!!!!!!! Написать программу, которая выводит на экран точечный график...

точечный график в dev c++ - C++
Данная программа должна выводить точечный график функции, но при выполнении выдает пустой экран.Вот код программы помогите разобраться. #...

Перевести с Pascal вычисление функции на заданном промежутке и построить график этой функции - C++
uses crt,graphABC; function y(x:real):real; begin if x&lt;0 then y:=x*x else if x&lt;=2.5 then y:=1+3*ln(abs(1-x*x*x)) else...

Написать блок-схему и программу вычисления функции на заданном промежутке и построить график этой функции - C++
написать блок-схему и программу вычисления функции на за- данном промежутке с шагом 0.2 и построить график этой функции.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
07.11.2010, 14:25 #2
Цитата Сообщение от Астик Посмотреть сообщение
#include "graphics.h"
Graphics.h - это каменный век.
Поэтому советую приобрести Turbo C++ 3.1.

Не по теме:

У вас даже коментарии с эроглифами!

Астик
12 / 12 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
07.11.2010, 15:24  [ТС] #3
Цитата Сообщение от Mencey Посмотреть сообщение
Graphics.h - это каменный век.
Поэтому советую приобрести Turbo C++ 3.1.
Не по теме:
У вас даже коментарии с эроглифами!
в смысле я это с диска скопировал) а в Вижуал Студио 2010 как это реализовать ?

Добавлено через 6 минут
Цитата Сообщение от Mencey Посмотреть сообщение
Graphics.h - это каменный век.
Поэтому советую приобрести Turbo C++ 3.1.
Не по теме:
У вас даже коментарии с эроглифами!
в смысле я это с диска скопировал) а в Вижуал Студио 2010 как это реализовать ?

Добавлено через 17 минут
Цитата Сообщение от Астик Посмотреть сообщение
Graphics.h - это каменный век.
Поэтому советую приобрести Turbo C++ 3.1.
вот поэтому он и не распознает! я хочу понять как этот код переделать под 2010 вижуал с++
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
07.11.2010, 15:29 #4
в любой версии VS вы не скомпилируйте этот код, он будет компилироватся только в Turbo C++ 3.1
графика в студии это - GDI, DirectX, OpenGL
Астик
12 / 12 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
07.11.2010, 18:44  [ТС] #5
Цитата Сообщение от Maxwe11 Посмотреть сообщение
в любой версии VS вы не скомпилируйте этот код, он будет компилироватся только в Turbo C++ 3.1
графика в студии это - GDI, DirectX, OpenGL
но в книге рассматривается VS

Добавлено через 2 часа 15 минут
Че больше никто ничего не знает?
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
07.11.2010, 18:48 #6
Скачайте Turbo C++. Достаньте из него хидер graphics.h и билиотеки для графики. И зпихай всё это в VS.
Астик
12 / 12 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
07.11.2010, 19:37  [ТС] #7
Цитата Сообщение от Mencey Посмотреть сообщение
Скачайте Turbo C++. Достаньте из него хидер graphics.h и билиотеки для графики. И зпихай всё это в VS.
а как это сделать?

Добавлено через 16 минут
Как реализовать эту программу в VS 2010?
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
07.11.2010, 19:48 #8
Цитата Сообщение от Maxwe11 Посмотреть сообщение
он будет компилироватся только в Turbo C++ 3.1
Скорее в Borland C++ 3.1, где BGI был.
Астик
12 / 12 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
07.11.2010, 19:56  [ТС] #9
Цитата Сообщение от KpeHDeJIb Посмотреть сообщение
Скорее в Borland C++ 3.1, где BGI был.
я это уже понял . подскажите как переделать код под VS
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
07.11.2010, 20:03 #10
Цитата Сообщение от Астик Посмотреть сообщение
я это уже понял . подскажите как переделать код под VS
Качаешь отсюда библиотеку и используешь: http://www.cs.colorado.edu/~main/bgi/visual/
Астик
12 / 12 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
07.11.2010, 20:18  [ТС] #11
Цитата Сообщение от KpeHDeJIb Посмотреть сообщение
Качаешь отсюда библиотеку и используешь: http://www.cs.colorado.edu/~main/bgi/visual/
он не переходит по ссылке, говорит ошибка! а нельзя эту прогу переписать без
C++
1
#include <graphics.h>
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
07.11.2010, 20:24 #12
Цитата Сообщение от Астик Посмотреть сообщение
а нельзя эту прогу переписать без
Ну тогда и все остальное надо будет переписывать, очевидно же. Можешь конечно с использованием GDI написать все, если хочешь.
Астик
12 / 12 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
07.11.2010, 20:29  [ТС] #13
Цитата Сообщение от KpeHDeJIb Посмотреть сообщение
Ну тогда и все остальное надо будет переписывать, очевидно же. Можешь конечно с использованием GDI написать все, если хочешь.
и как это сделать?
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
07.11.2010, 20:34 #14
Цитата Сообщение от Астик Посмотреть сообщение
и как это сделать?
Руками, скорее всего. Создаешь окно Windows, получаешь его контекст, затем рисуешь. Не думаю что тебе подойдет этот способ. Лучше воспользуйся BC++ 3.1
Астик
12 / 12 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
07.11.2010, 22:28  [ТС] #15
Цитата Сообщение от Maxwe11 Посмотреть сообщение
в любой версии VS вы не скомпилируйте этот код, он будет компилироватся только в Turbo C++ 3.1
графика в студии это - GDI, DirectX, OpenGL
почему?

Добавлено через 8 минут
Цитата Сообщение от KpeHDeJIb Посмотреть сообщение
Руками, скорее всего. Создаешь окно Windows, получаешь его контекст, затем рисуешь.
в смысле это надо в консоле.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2010, 22:28
Привет! Вот еще темы с ответами:

График функции в Си/Си++ - C++
Есть ли возможность построить хоть элементарный график функций в Си/Си++???

График функции - C++
Нужно постоить график функции , выражение y=lg(x2)+3x , в которой используется табуляция A=1,B=4,H=0,4

График функции - C++
Привет всем, мужики, подскажите пожалуйста идею или алгоритм построения графика функции в си, у меня дан y=5/(x^2) xЕ(-5;5). Добавлено...

График функции - C++
Построить график функции F(x)={ -x^2+3x+9 если x&lt;=3; x/(x^2+1, если x&gt;3. очень...


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

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

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