Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 19

перевести програмку из дельфи в си

11.02.2014, 00:41. Показов 1144. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!
Мой научный руководитель в срочном порядке сказал перевести мою расчетную программу из Дельфи в Си/Си++, а я, увы, знаю только Дельфи.
Есть такая программа:
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;
он должен выдать такую картинку на примерно такой консольке. (см. вложение)
остальные методы пока не разработаны.

Добавлено через 8 минут
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.02.2014, 00:41
Ответы с готовыми решениями:

Перевести код на Дельфи
Кто может перенести это в Delphi??? type // конфета TCandy = record Name: string; // название Price: double; // цена ...

Перевести из паскаля в Дельфи
преведите дайте код на кнопку и тд var n,i,a,sp,so:integer; begin write('n='); readln(n); writeln('Vvedite ',n,' chisel'); ...

Перевести код из С++ в Дельфи
помогите перевести код плиз!из с++ в код делфи! using namespace std; int main() { const int n = 5; double myarr, sum...

5
40 / 25 / 7
Регистрация: 04.10.2012
Сообщений: 127
11.02.2014, 00:49
Выкладывай исходник. Гляну завтра на досуге.
0
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 19
11.02.2014, 10:12  [ТС]
работает пока только первая кнопочка - Лакс-Вендрофф
Вложения
Тип файла: zip заготовка.zip (200.7 Кб, 6 просмотров)
0
40 / 25 / 7
Регистрация: 04.10.2012
Сообщений: 127
11.02.2014, 12:46
Project by Dam33 140211.zip
Проверь функцию ButtonLaksVendroffClick. Зависают расчеты. Что то не так в переведённой формуле.
Я не знаю твоих формул, думаю найдешь косяк, если сам писал.
0
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 19
11.02.2014, 20:52  [ТС]
Что-то у меня вообще ничего не запускается. ((((

P.S. Писала-то я сама, но ничего кроме Дельфи я не знаю. И если по образу и подобию записать алгоритмы для остальных методов, когда я их рассчитаю, я думаю смогу - то переписать с нуля сама я точно не смогу. Главная проблема в графической и консольной части.
0
40 / 25 / 7
Регистрация: 04.10.2012
Сообщений: 127
11.02.2014, 22:27
Project1.bpr - запускается через Borland C++ Buider 6
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2014, 22:27
Помогаю со студенческими работами здесь

Перевести с Дельфи на Паскаль
program Project1; //Возвращает заглавную версию буквы для кодовой страницы CP866. function UpCase866(const aChar : Char) : Char; ...

Перевести функцию IPAddrToName с Дельфи
Здравия всем. Есть на делфи такая функция - function IPAddrToName(IPAddr: string): string; var SockAddrIn: TSockAddrIn; ...

Перевести класс с Дельфи на Билдер
Пол дня промучился, ничего не получается. Позарез нужно на Билдере этот код привернуть, ни фига не получается, помогите кому не в лом. ...

Перевести код с Паскаля на Дельфи
ПОМОГИТЕ ПОЖАЛУЙСТА ПЕРЕВЕСТИ НА ДЕЛФИ var A,B,n:word; begin write('A= '); readln (A); B:=A; n:=0; repeat A:=B;

Перевести текстовый код на Дельфи
помогите перекинуть код из паскаля в делфи uses crt; const nmax=20; mar:array of...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru