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

Заштриховать область ограниченную функцией y=arcctg(x), прямой x=1 и осями ОХ и ОУ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему не вызывается деструктор? http://www.cyberforum.ru/cpp-beginners/thread1493362.html
Всем доброго времени суток! Подскажите пожалуйста - почему не вызывается деструктор при выполнении строки 48? #include<iostream> #include<stdio.h> #include<conio.h> using namespace std;
C++ Тернарный оператор и операторы безусловного перехода Здравствуйте, может кто-нибудь объяснить, почему не компилируется оператор ?, если в одной из последующих частей стоит break, return, continue??? Например, hWnd != 0 ? ShowWindow(hWnd, nCmdShow): return 0; http://www.cyberforum.ru/cpp-beginners/thread1493339.html
C++ Ключевое слово class при создании объекта
class A { int r; }; int main () { class A w;//Для чего здесь ключевое слово class? ... }
Выкрутасы с объектами - напишите мне код C++
Я хочу создать такой хитрый а может и не хитрый код. Классы ,,golky,, и ,,dysk,, , объекты класса ,,dysk,,-и имеют при себе целое число каждый. Видимо это число также можно менять методами класса если хочется. На обьект класса ,,golky,, могут надеваться обьекты класса ,,dysk,, в любом количестве. Причем лежат они потом на объекте ,,golky,, точно в том порядке, как они были одеты,
C++ Определить, принадлежит ли введенное число заданному массиву http://www.cyberforum.ru/cpp-beginners/thread1493271.html
Подскажите пожалуйста, у меня такое задание, есть массив, пользователь вводит с клавиатуры число и нужно определить , принадлежит ли это число данному массиву, я написала программу, но к сожалению она проверяет все элементы и выводит по каждому отчет. А мне нужно чтоб общий ответ для всего массива, #include<iostream> using namespace std; void main() { const int size=10; int A={0}; int...
C++ Счетчик объектов класса Всем доброго времени суток. Изучая язык С++ по книге Лафоре столкнулся с задачей которую не могу решить (будет скриншот задачи) точнее не понимаю условия как ее сделать. могу сделать по другому но тогда решения будет сделано проще и не соответствовать условию задачи, а мне хотелось бы побольше усвоить. кто сталкивался с такой задачий и знает что делать - прошу готовое решение не скидывать (только... подробнее

Показать сообщение отдельно
Oksik-100
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 4
05.07.2015, 15:22     Заштриховать область ограниченную функцией y=arcctg(x), прямой x=1 и осями ОХ и ОУ
помогите пожалуйста,никак не могу сообразить как заштриховать область ограниченную функцией y=arcctg(x) и прямой x=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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
const int X0 = 200, Y0 = 400; // начало координат
const float k = 80;                // масштаб          
const float xmin = -1.*X0/k, xmax = (800.-X0)/k;
const float ymin=-1.*(600-Y0)/k, ymax=Y0/k; 
float x1, x2;
 
 
//-----------------------------------------
// SCREENX – перевод X в координаты экрана
//-----------------------------------------
int ScreenX (float x) 
{ 
 return  X0+k*x; 
}
//-----------------------------------------
// SCREENY – перевод Y в координаты экрана
int ScreenY (float y) 
{ 
 return  Y0-k*y; 
} 
 
float f1 (float y)
{// Вход: x     
      return (cos(y))/(sin(y));
}// Выход: y = f(x) 
 
int ODZf1 ( float y )
{
    return (sin(y)!=0);
}
 
float f2 (float y)
{// Вход: x     
      return 1;
}// Выход: y = f(x)
 
 
 
void Axes() // построение и разметка осей координат
{
     int i, xe, j, ye;
     char s[10];
     line ( X0, 0, X0, 599 ); // рисуем оси
     line ( 0, Y0, 799, Y0 );
     moveto(X0, Y0);
     for ( i = 0; i <= (800-X0)/k; i ++ ) // цикл по всем делениям
     {
         xe = ScreenX ( i ); // переход к экранным координатам
         line ( xe, Y0-2, xe, Y0+2 ); // рисуем деление
         sprintf ( s, "%d", i ); // переводим число в строку
         outtextxy ( xe-8, Y0+4, s ); // вывод числа
     }
     for ( j = 1; j <= (800-Y0)/k; j ++ )
     {
         ye = ScreenY(j);
         line(X0-2, ye, X0+2, ye);
         sprintf ( s, "%d", j );
         outtextxy ( X0+4, ye-8, s );
     }
 
}
void Point ( float x, float y, int color ) // переводит переданные ей значения координат x и y из математической системы в экранную
{// если точка попадает на экран, выводит точку заданного цвета color
    int xe, ye;
    xe = ScreenX(x);
    ye = ScreenY(y);    
    if ( xe >= 0  &&  xe < 800  && ye >= 0  &&  ye < 600)
       putpixel(xe, ye, color);
    lineto (X0+k*x,Y0-k*y);
}
 
void Plotf1() // построение графиков
{
    
     float x, y,
     h =0.01;
     for (y=0;y<=M_PI; y+=h)
         if ( ODZf1(y) )
            Point ( f1(y),y, WHITE);
}
 
void Plotf2() // построение графиков
{
    
     float x, y,
     h =0.01;
     for (y=ymin;y<=ymax; y+=h)
       Point ( f2(y),y, WHITE);
}
 
//----------------------------------------------
// Solve находит точку пересечения на [a,b]
// Вход: a, b – границы интервала, a < b
// eps - точность решения
// Выход: x – решение уравнения f1(x)=f2(x)
//----------------------------------------------
float Solve( float a, float b, float eps )
{
      float c, fa, fc;
      while( fabs(b-a)> eps ) 
      { // пока не достигли заданной точности
           c = (a + b) / 2.; // середина отрезка [a,b]
           fa = f1(a) - f2(a); // разность функций в точке x=a
           fc = f1(c) - f2(c); // разность функций в точке x=c
           if ( fa*fc < 0 ) b = c; // сужаем область поиска
           else a = c;
      }
      return (a + b) / 2.; // результат – середина отрезка
}
 
 
void Cross ()
{
     float x2,y2;
     int xe, ye;
     char s[30];
     y2 = Solve(0, 2, 0.001); // найти x-координату точки
     x2 = f1(y2); // найти y-координату точки
     xe = ScreenX(y2); // вычислить экранные координаты
     ye = ScreenY(x2);
     sprintf(s, "x1:%5.2f", x2 ); // вывод координат на экран
     outtextxy(xe+55, ye-22, s);
     sprintf(s, "y1:%5.2f", y2 );
     outtextxy(xe+55, ye+2, s);
}
 
 
 
void Hatch()
{
 //штриховка
}
 
 
main ()
{   
    initwindow ( 800, 600 ); // создать окно для графики
 
    Axes();
    Plotf1();
    Plotf2();
    Plotf3();
    Cross();
    Hatch();
    getch(); // ждать нажатия на клавишу
    closegraph(); // закрыть окно для графики
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru