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

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
XameLIO
3 / 3 / 0
Регистрация: 05.03.2011
Сообщений: 58
#1

Переделать - Delphi

10.09.2011, 17:14. Просмотров 388. Ответов 4
Метки нет (Все метки)

Здраствуйте помогите пожалуйста дум дубом в делфи надо код из паскаля перекинуть в делфи "красивенько"))) с окошками и всей фигней((( заранее благодарен вот код паскаля
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
const
max = 101;
type
  Sequence = array [1..max] of Integer;
var
s: Sequence;
j:integer;
procedure Find(var s: Sequence; l: Integer; n, m: Integer);
var
i: Integer;
begin
if n = 0 then
begin
for i := 1 to l do
      Write(s[i], ' ');
j:=j+1;
WriteLn;
end
else
if m > n then
m := n;
for i := m downto 1 do
begin
s[l + 1] := i;
      Find(s, l + 1, n - i, i);
end;
end;
var
n: Integer;
begin
Writeln('Введите число');
j:=0;
ReadLn(n);
if n>0 then
begin
Writeln('Решение');
  Find(s, 0, n, n);
Writeln('Общее количество разбиений',j);
end
else
writeln('Не существует разбиений данного числа');
readln
end.
Добавлено через 41 минуту
помогите кто пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2011, 17:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать (Delphi):

Переделать головоломку - Delphi
вот, что у меня есть Нужно сделать судоку-крыло помогите, чем сможете, буду очень благодарен.

Переделать рекурсию - Delphi
Эта рекурсия имитирует одинарный цикл (вывод алфавита в мемо): private procedure Rec(s, n: integer); //вот эту переделать ...

Переделать код - Delphi
Doc := WebBrowser1.OleObject.Document.GetElementsByTagName('tr'); for i := 0 to Doc.Length - 1 do begin El := Doc.Item(i); ...

Переделать код - Delphi
memo1.clear; Doc := WebBrowser1.OleObject.Document.GetElementsByTagName('td'); for i := 0 to Doc.Length - 1 do begin El...

Переделать программу - Delphi
Вот программа по двухмерным массивам. Которая должна определить количество столбцов массива, которые содержат отрицательные числа. Мне...

Переделать в формы - Delphi
"Считалка". Даны натуральные n,m. Предполагается, что n человек встают в круг и получают номера, считая против часовой стрелки, 1,2, ...,...

4
igoriy
869 / 540 / 19
Регистрация: 24.11.2009
Сообщений: 1,329
10.09.2011, 17:32 #2
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
const
    max = 101;
type
  Sequence = array [1..max] of Integer;
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
 
    procedure Find(var s: Sequence; l: Integer; n, m: Integer);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
 
 
var
  Form1: TForm1;
  s: Sequence;
  j:integer;
implementation
 
{$R *.dfm}
 
{ TForm1 }
 
 
 
 
 
procedure TForm1.Find(var s: Sequence; l, n, m: Integer);
var
i: Integer;
begin
if n = 0 then
begin
for i := 1 to l do
j:=j+1;
end
else
if m > n then
m := n;
for i := m downto 1 do
begin
s[l + 1] := i;
      Find(s, l + 1, n - i, i);
end;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
var
n: Integer;
begin
n:= StrtoInt(Edit1.Text);
j:= 0;
if n > 0 then
 begin
  Find(s, 0, n, n);
  ShowMessage('Общее количество разбиений  '+IntToStr(j));
end
else
ShowMessage('Не существует разбиений данного числа');
 
end;
end.
1
XameLIO
3 / 3 / 0
Регистрация: 05.03.2011
Сообщений: 58
10.09.2011, 17:50  [ТС] #3
а можно архивом как то проектом а то не работает((( а я дуб в делфи
0
Puporev
Модератор
52405 / 40252 / 13588
Регистрация: 18.05.2008
Сообщений: 93,053
10.09.2011, 17:53 #4
Или лучше так, с выводом.

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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,StdCtrls, XPMan, Spin;
 
type
  TForm1 = class(TForm)
    SpinEdit1: TSpinEdit;
    Label1: TLabel;
    Memo1: TMemo;
    Label2: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
type
  Sequence = array of Integer;
var
  Form1: TForm1;
  s: Sequence;
  j:integer;
implementation
 
{$R *.dfm}
procedure Find(var s: Sequence; l: Integer; n, m: Integer; mm:TMemo);
var
i: Integer;
begin
if n = 0 then
 begin
  for i := 1 to l do
  mm.Text:=mm.Text+IntToStr(s[i-1])+' ';
  mm.Text:=mm.Text+#13#10;
  j:=j+1;
 end
else if m > n then  m := n;
for i := m downto 1 do
 begin
  s[l] := i;
  Find(s, l+1, n - i, i,mm);
 end; 
end;
procedure TForm1.Button1Click(Sender: TObject);
var n: Integer;
begin
n:=SpinEdit1.Value;
Setlength(s,n);
j:=0;
if n>0 then
 begin
  Find(s, 0, n, n, Memo1);
  Memo1.Lines.Add('Общее количество разбиений='+IntToStr(j));
 end
else
Memo1.Lines.Add('Не существует разбиений данного числа');
end;
 
end.
0
Вложения
Тип файла: rar Разбиение на слагаемые.rar (175.5 Кб, 5 просмотров)
igoriy
869 / 540 / 19
Регистрация: 24.11.2009
Сообщений: 1,329
10.09.2011, 18:03 #5
исходник, но у Puporev красивей будет
0
Вложения
Тип файла: rar Новая папка (4).rar (4.0 Кб, 3 просмотров)
10.09.2011, 18:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2011, 18:03
Привет! Вот еще темы с ответами:

Переделать немножко =) - Delphi
Дана действительная квадратная матрица порядка n. Вычислить сумму тех из m элементов, расположенных по побочной диагонали и выше неё,...

Из Repeat в while переделать - Delphi
program Project2; {$APPTYPE CONSOLE} uses SysUtils,math; Var d,s,a:extended; n:integer;

Переделать в процедуру - Delphi
Имеется код (Спасибо Puporev), как его переделать в отдельную процедуру и как вызывать её? Проблема в том, что не знаю как правильно...

Нужно переделать - Delphi
Я создал программу, но никак не получается воткнуть в нее систему очистки) т.е. Нужно создать кнопку "Очистить", чтобы она очещала и...


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

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

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