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

Перевести с Pascal вычисление функции на заданном промежутке и построить график этой функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В чем может быть ошибка. Расстояние между вершинами дерева http://www.cyberforum.ru/cpp-beginners/thread1221994.html
Входные данные: Первая строка содержит количество вершин в дереве n(1<=n<=500000). Вершины имеют значения от 0 до n-1. В следующих n-1 строках содержится по 3 целых числа u,v,w, которые отвечают ребру весом w, соединяющему вершину u и v В следующей строке дано число m - количество запросов. В следующих m строках дано по два числа - номера вершин между которыми нужно найти расстояния. ...
C++ Передача в функцию знака операции (+,-,*,/) Хотелось бы написать функцию по работе очень похожа на калькулятор, для удобства расчетов. Но ни как не могу понять как передать операцию + или - или / или * . К примеру вызываю функцию poshitay(100, +, 200, /, 2). Может ли кто сказать возможно ли такое реализовать. Длинна переменных изменчива. http://www.cyberforum.ru/cpp-beginners/thread1221956.html
C++ Запись и считывание двух фраз из файла по условию
Стоит задача создать программу которая будет записывать 2 фразы в 2 разные переменные и считывать эти фразы из файла и потом идёт проверка 2 фразы из 2 переменной и пишется фраза. У меня пишет что я ошибся, не могу понять в чём вроде как всё верно. Вот код: #include <iostream> #include <fstream> #include <iomanip> #include <Windows.h> using namespace std;
Константа типа short C++
Как в программе задать константу типа short? Чтобы понятнее было приведу индефикаторы, которые в результате дают соответствующий тип константе. по умолчанию - int. L - long LL - long long
C++ Побитовые операции, Что делает операция ^ http://www.cyberforum.ru/cpp-beginners/thread1221928.html
Здравствуйте! Что делает эта операция? char * a; for (int i=0;i<n;i++) a= a^"$";
C++ Стек. Выведите все вхождения символов указанного набора в текст в обратном порядке Дан текст, состоящий из заглавных и строчных английских букв, символов ! ; ? . , - : ; ) ( ' " и пробелов. Выведите все вхождения символов указанного набора в текст в обратном порядке. Для решения используйте стек. Формат входных данных Во входном файле записан текст из нескольких строк. Формат выходных данных В выходной файл вывести строку, являющуюся ответом. подробнее

Показать сообщение отдельно
Doc
1 / 1 / 0
Регистрация: 05.05.2014
Сообщений: 106
03.07.2014, 17:26     Перевести с Pascal вычисление функции на заданном промежутке и построить график этой функции
Pascal
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
uses crt,graphABC;
function y(x:real):real;
begin
if x<0 then y:=x*x
else if x<=2.5 then y:=1+3*ln(abs(1-x*x*x))
else y:=cos(2.3*x-1)
end;
var a,b,x,h,max,min,mx,my,dx:real;
    x0,y0,i,n:integer;
    s:string;
begin
a:=-pi/4;
b:=7*pi/4;
h:=pi/4;
x:=a;
while x<=b do
 begin
  writeln('x=',x:5:1,'  y=',y(x):7:3);
  x:=x+h
 end;
write('Нажмите Enter для просмотра графика');
readln;
hidecursor;
clrscr;
x0:=round(-windowwidth*a/(b-a));
y0:=windowheight div 2;
mx:=(windowwidth-50)/(b-a);{масштаб по Х}
x:=a;
max:=y(x);
min:=max;
while x<b do
 begin
  x:=x+0.01;
  if y(x)>max then max:=y(x);
  if y(x)<min then min:=y(x);
 end;
if max>abs(min) then my:=(y0+20)/max {масштаб по Y}
else my:=(y0+20)/abs(min);
n:=7;
if max>n then n:=trunc(max)+1;
if abs(min)>n then n:=trunc(abs(min))+1;
line(0,y0,windowwidth,y0);{оси}
line(x0,0,x0,windowheight);
for i:=1 to n do{максимальное количество засечек в одну сторону}
  begin
    line(x0+round(i*pi*mx/4),y0-3,x0+round(i*pi*mx/4),y0+3); {засечки на оси Х}
    line(x0-round(i*pi*mx/4),y0-3,x0-round(i*pi*mx/4),y0+3);
    line(x0+3,y0-round(i*my),x0-3,y0-round(i*my)); {засечки на оси Y}
    line(x0+3,y0+round(i*my),x0-3,y0+round(i*my));
    {подпись оси Х}
    if i=1 then
     begin
      textout(x0+round(mx*pi/4)-15,y0+10,'pi/4');
      textout(x0-round(mx*pi/4)-15,y0+10,'-pi/4');
     end
    else
     begin
      textout(x0+round(mx*i*pi/4)-15,y0+10,inttostr(i)+'pi/4');
      textout(x0-round(mx*i*pi/4),y0+10,inttostr(-i)+'pi/4');
     end;
    {подписи по оси Y}
    str(i,s);
    textout(x0-25,y0-round(i*my)-10,s);
    textout(x0-30,y0+round(i*my)-10,'-'+s);
  end;
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-15,y0-25,'X');
textout(x0+5,8, 'Y');
{график}
x:=a;
dx:=0.001;
while x<=b do
 begin
  x:=x+dx;
  setpixel(x0+round(x*mx),y0-round(y(x)*my),clBlue);
 end;
setfontsize(12);
setfontcolor(clBlue);
textout(x0+250,10,'       x<0  y=x^2');
textout(x0+250,30,' 0<=x<=2.5  y=1+3*ln|1-x*x*x|');
textout(x0+250,50,'     x>2.5  y=cos(2.3*x-1)');
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru