Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Фалмари
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 16
#1

Построение графика (перевести програму с Дельфи) - C++

10.02.2014, 22:39. Просмотров 312. Ответов 3
Метки нет (Все метки)

Добрый вечер!
Мой научный руководитель в срочном порядке сказал перевести мою расчетную программу из Дельфи в Си/Си++, а я, увы, знаю только Дельфи.
Есть такая программа:
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    PaintBox1: TPaintBox;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 {$R *.dfm}
 
function max(a,b: extended):extended;
begin
  if a>b then max:=a
         else max:=b;
end;
 
function min(a,b: extended):extended;
begin
  if a<b then min:=a
         else min:=b;
end;
 
procedure TForm1.Button1Click(Sender: TObject); {????? ???-???????}
  const N=300;
  type Tmas = array [0..N,0..trunc(N/2)] of double;
  var i,m,code,K:integer;
      u, v : Tmas;
      c, tao, h: extended;
begin
  Val(Edit1.Text,c,code);
  tao:=1/(3*c*N);
  h:=1/N;
  K:= trunc(N/2);
  for i:=0 to K-50 do
    u[i,0]:=1;
  for i:=K-49 to K+49 do
    u[i,0]:=0.5;
  for i:=K+50 to N do
    u[i,0]:=0;
  for m:=0 to K do
    u[0,m]:=1;
  for m:=0 to K do
    u[N,m]:=0;
  for m:=0 to K-1 do
    begin
    v[0,m+1]:=u[0,m] - (c*tao/h)*(u[1,m] - u[0,m]);
    for i:=1 to N-1 do
      begin
      v[i,m+1]:=u[i,m] - (c*tao/h)*(u[i+1,m] - u[i,m]);
      u[i,m+1]:=1/2*(u[i,m] + v[i,m+1] - (c*tao/h)*(v[i,m+1]-v[i-1,m+1]));
      end;
    end;
  with PaintBox1.Canvas do
    begin
      MoveTo(0,200);
      for i:=0 to N do
       begin
             Pen.Width:=1;
             Pen.Style:=psSolid;
             Pen.Color:=clBlue;
             LineTo(i*trunc(600/N),4*trunc(150 - 100*u[i,K]));
             Pen.Color:=clRed;
            if (u[i,K]<0.99) and (u[i,K]>0.03)
            then
            begin
            Pen.Width:=3;
            MoveTo(i*trunc(600/N)-1,4*trunc(150 -100*u[i,K]+1));
            LineTo(i*trunc(600/N)+1,4*trunc(150 -100*u[i,K]-1));
            MoveTo(i*trunc(600/N)+1,4*trunc(150 -100*u[i,K]+1));
            LineTo(i*trunc(600/N)-1,4*trunc(150 -100*u[i,K]-1));
            end;
       end
    end;
end;
он должен выдать такую картинку на примерно такой консольке. (см. вложение)
остальные методы пока не разработаны.
0
Миниатюры
Построение графика (перевести програму с Дельфи)  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2014, 22:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Построение графика (перевести програму с Дельфи) (C++):

Построение графика - C++
Подскажите пожалуйста, какая функция в С++ позволяет построить график в консольном приложении

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

Построение графика - C++
Здравствуйте. Нужно построить линейную аппроксимацию данных. До этого работал только в консоли на codeblocks и как работать с формами не...

построение графика в С++ - C++
всем привет, у меня возникла такая проблема, на Borland C++ нужно написать программу такого характера! вывести в консоли график функции...

Построение графика - C++
как сделать,чтобы строился график по данным находящимся в R и C функция C=f(R)

Построение графика (Циссоиды) - C++
У меня есть программа, для построения легких графиков, а как мне исправить, что бы он построил Циссоиду?... Помогите, пожалуйста... Т.Т ...

3
programina
10.02.2014, 22:44
  #2

Не по теме:

Цитата Сообщение от Фалмари Посмотреть сообщение
Мой научный руководитель в срочном порядке сказал перевести
Пошлите его лесом.

0
Фалмари
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 16
10.02.2014, 23:11  [ТС] #3
Цитата Сообщение от programina Посмотреть сообщение

Не по теме:


Пошлите его лесом.

Увы, не получится. (( Таки надо. И срочно.
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.02.2014, 23:30 #4
Фалмари, дело в том, что графическая оболочка вашей программы созданна благодаря компонентам делфи. В С++ нет таких компонентов, потому что С++ - это в первую очередь язык. С вашим вопросом лучше обратиться в раздел C++ Builder, потому что там схожие компоненты.
0
10.02.2014, 23:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2014, 23:30
Привет! Вот еще темы с ответами:

Построение графика функции f(x) - C++
Необходимо построить график функции y=45x^3-1

Построение графика функции - C++
Как визуально построить график функции? sin x +x-3=0 На интервале от a до b. (a,b - любые числа) С точностью e=0.001

Построение графика функции - C++
Помогите, пожалуйста, определить условия для построения графика с помощью графического модуля

Неправильное построение графика - C++
Здравствуйте, пишу программу и для обработки данных необходимо построить график, для этого я использую сhartdir.h. Проблема в том, что не...


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

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

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