0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 1
1

По введенному значению аргумента вычислить значение функции, заданной в виде графика

26.05.2015, 18:22. Показов 2654. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
срочно помогите кто может и умеете! Написать программу которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Параметр R вводится с клавиатуры.
По введенному значению аргумента вычислить значение функции, заданной в виде графика
ниже фото примера по радиусу
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2015, 18:22
Ответы с готовыми решениями:

По введенному значению аргумента вычислить значение функции, заданной в виде графика
Задание 1. Написать программу, которая по введенному значению аргумента вычисляет значение функции,...

По введенному значению аргумента вычислить значение функции, в виде графика
Помогите пожалуйста написать программу на языке С++. 1. Составить алгоритм и написать программу,...

По введенному значению аргумента вычислить значение функции, в виде графика
Помогите пожалуйста написать программу на языке С++. 1. Составить алгоритм и написать программу,...

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

7
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
26.05.2015, 18:48 2
То есть мы R (радиус) вводим и x ?
А если R>2 то этот полукруг будет где то пересекать остальной график и значений функции будет два при каких то x ? Или этот полукруг отрисовывается только в
диапазоне от -6 до -10 ? Вы бы еще задание переписали дословно к этой задаче , было бы не плохо .
0
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 474
Записей в блоге: 4
26.05.2015, 18:54 3
Судя по изображению R фиксирован и равен двум. Наверное, с клавиатуры вводится x?

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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#include <windows.h>
#include <math.h>
#include <stdio.h>
 
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "kernel32.lib")
#pragma comment(lib, "gdi32.lib")
 
 
#define _E 2.71828182845
#define _PI 3.14159265359
#define EPS 0.01
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
int j,center_x,center_y,mastab_x,mastab_y;
float i,fx,fx3, A,B,C, x1,y1,x2,y2;
HPEN hpen1,hpen2;
 
center_x = 300;
center_y = 300;
 
mastab_x = 10;
mastab_y = 10;
 
switch (uMsg)
{
case  WM_DESTROY:
PostQuitMessage(NULL);
return 0;
case WM_PAINT:
hpen1 = CreatePen(PS_SOLID, 1, RGB(255, 255, 128));
hpen2 = CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
SelectObject(hdc, hpen2);
hdc = GetDC(hwnd);
MoveToEx(hdc, center_x , center_y, NULL); LineTo(hdc, 0,center_y);
MoveToEx(hdc, center_x , center_y, NULL); LineTo(hdc, center_x, 2 * center_y);
MoveToEx(hdc, center_x , center_y, NULL); LineTo(hdc, center_x, 0);
MoveToEx(hdc, center_x , center_y, NULL); LineTo(hdc, 2 * center_x, center_y);
for(i = -10.0; i < -6.0; i+=EPS)
{
fx = 16.0 - 4.0 * (64.0 + 16.0*i + i*i);
fx3 = (4.0 - sqrt(fx) ) / 2.0 ;
SetPixel(hdc, center_x + mastab_x * i, center_y - mastab_y * fx3, RGB(0,0,255) );
}
for(i = -6.0; i < -4.0; i+=EPS)
SetPixel(hdc, center_x + mastab_x * i, center_y - mastab_y * 2.0, RGB(0,0,255) );
 
x1 = -4.0;
y1 = 2.0;
x2 = 2.0;
y2 = -1.0;
A = y2 - y1;
B = -(x2 - x1);
C = -x1*A  - y1*B;
 
for(i = -4.0; i < 2.0; i+=EPS)
{
fx = (-C - A*i )/B;
SetPixel(hdc, center_x + mastab_x * i, center_y - mastab_y * fx, RGB(0,0,255) );
}
 
x1 = 2.0;
y1 = -1.0;
x2 = 4.0;
y2 = 1.0;
A = y2 - y1;
B = -(x2 - x1);
C = -x1*A  - y1*B;
 
for(i = 2.0; i < 4.0; i+=EPS)
{
fx = (-C - A*i )/B;
SetPixel(hdc, center_x + mastab_x * i, center_y - mastab_y * fx, RGB(0,0,255) );
}
 
 
ReleaseDC(hwnd, hdc);
DeleteObject(hpen1);
DeleteObject(hpen2);
return 0;
default:
return DefWindowProc(hwnd, uMsg,wParam, lParam);
}
 
return DefWindowProc(hwnd, uMsg,wParam, lParam);
}
 
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR CmdLine, int CmdShow)
{
WNDCLASSEX wc;
MSG msg;
HWND hwnd;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW|CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC) WndProc;
wc.cbClsExtra = NULL;
wc.cbWndExtra = NULL;
wc.hInstance = hInst;
wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName =  "SimpleWinClass";
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hIconSm =LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
RegisterClassEx(&wc);
hwnd = CreateWindowEx(NULL, "SimpleWinClass", "Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 
 
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,  NULL, NULL, hInst, NULL);
ShowWindow(hwnd, SW_SHOWNORMAL);
UpdateWindow(hwnd);
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
 
int main(int argc, char* argv[])
{
 
float x, y,A,B,C,fx,x1,y1,x2,y2;
scanf("%f", &x);
printf("%f\n", x);
 
if ( x >= -10.0 && x < -6.0)
{
fx =  ( 4.0 - sqrt ( 16.0 - 4.0 * (64.0 + 16.0*x + x*x) ) ) / 2.0;
printf("fx %f\n", fx);
}
else if (x >=-6 && x<-4)
{
fx = 2.0;
printf("fx %f\n", fx);
}
else if (x >=-4 && x<2)
{
x1 = -4.0;
y1 = 2.0;
x2 = 2.0;
y2 = -1.0;
A = y2 - y1;
B = -(x2 - x1);
C = -x1*A  - y1*B;
fx = (-C - A*x )/B;
printf("fx %f\n", fx);
}
else if (x >=2 && x<4)
{
x1 = 2.0;
y1 = -1.0;
x2 = 4.0;
y2 = 1.0;
A = y2 - y1;
B = -(x2 - x1);
C = -x1*A  - y1*B;
fx = (-C - A*x )/B;
printf("fx %f\n", fx);
}
 
HINSTANCE hInstance = GetModuleHandle(0);
LPSTR CommandLine = GetCommandLine();
return WinMain(hInstance, NULL,CommandLine, SW_SHOWDEFAULT);
return 0;
}
0
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
02.06.2015, 04:23 4
А Ваш код компилировать как консольное приложение Win32 ? или просто приложение Win32 ?
Наверное как консольное..
Почему то ни так ни так не создается окно , CreateWindowEx возвращает нулевой hwnd .
0
Эксперт по математике/физикеЭксперт С++
2110 / 1380 / 399
Регистрация: 16.05.2013
Сообщений: 3,552
Записей в блоге: 6
02.06.2015, 12:42 5
Цитата Сообщение от Stanis Посмотреть сообщение
А Ваш код компилировать как консольное приложение Win32 или просто приложение Win32?
Наверное как консольное..
C++
1
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR CmdLine, int CmdShow)
Это не о чем не говорит?
0
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
02.06.2015, 17:41 6
А это о чем тогда говорит ?
Цитата Сообщение от Alexandr_1982 Посмотреть сообщение
C++
1
2
3
4
int main(int argc, char* argv[])
{
   ...
}
0
Эксперт по математике/физикеЭксперт С++
2110 / 1380 / 399
Регистрация: 16.05.2013
Сообщений: 3,552
Записей в блоге: 6
03.06.2015, 11:57 7
Цитата Сообщение от Stanis Посмотреть сообщение
А это о чем тогда говорит ?
Похоже автор решил запилить две точки вхождения. Сперва я этого не заметил. Благодарю, что указали.
В любом случае это не верно. Следует создавать новый процесс посредством функции CreateProccess и компилировать его отдельно.
0
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
03.06.2015, 18:20 8
Цитата Сообщение от Ilot Посмотреть сообщение
В любом случае это не верно. Следует создавать новый процесс посредством функции CreateProccess и компилировать его отдельно.
Спасибо , в этом и был вопрос .
0
03.06.2015, 18:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2015, 18:20
Помогаю со студенческими работами здесь

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

По введенному значению аргумента вычислить значение функции, заданной графически
Помогите пожалуйста написать программу на языке С++. 1. Составить алгоритм и написать программу,...

По введенному значению аргумента вычислить значение кусочно-непрерывной функции
Требуется помощь в написании данной программы: Написать программу, которая по введенному значению...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru