Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 08.05.2017
Сообщений: 13
1

Преобразование кода

28.02.2019, 19:49. Просмотров 410. Ответов 7
Метки нет (Все метки)

Здравствуйте! помогите, пожалуйста. Нужно реализовать разработанный алгоритм, используя модульный подход к программированию (с помощью процедур и функций). Данную программу нужно преобразовать таким образом, чтобы ввод массива, его обработка и результат выводились через процедуры.А потом эти процедуры вводились в кнопки
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
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
     procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
n,i,b:integer;
P:integer;
a:array of integer;
begin
n:=StrToInt(Edit1.Text);
b:=StrToInt(Edit3.Text);
setlength(a,n);
StringGrid1.ColCount:=n;
for i:=0 to n-1 do
begin
randomize;
a[i]:=random(20)+1;
StringGrid1.Cells[i,0]:=IntToStr(a[i]);
 end;
 p:=1;
for i:=0 to n-1 do
    if (odd(i+1)) and (a[i]<b) then
P:=P*a[i];
Edit2.Text:=IntToStr(P);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
   begin
for i:=0 to Stringgrid1.ColCount-1 do
  Stringgrid1.Cols[i].Clear;
  edit1.Clear;
   edit2.Clear;
    edit3.Clear;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2019, 19:49
Ответы с готовыми решениями:

Преобразование кода с С++ в Делфи
подскажите, как это сделать? #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; ...

Преобразование кода TColor
Доброго времени суток! Помогите пожалуйста с такой интересной задачей) Есть код красного и...

Преобразование штрих-кода в строку
Добрый день. Задача преобразовать штрих код формата Ean13 и Ean8 в строку. Например 2267953242460...

Преобразование файла в набор двоичного кода и сбор его обратно в другом месте
Всем добрый вечер, помогите пожалуйста в решении такой проблемы: есть файл (любой: txt, rar, doc и...

7
163 / 141 / 66
Регистрация: 05.06.2010
Сообщений: 632
28.02.2019, 22:42 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
function CreateArray(const aLength: integer): TArray<integer>;
  var
    i: integer;
begin
  SetLength(Result, aLength);
 
  for i := Low(Result) to High(Result) do
    begin
      Randomize; // на onCreate у формы один раз лучше выполнить
 
      Result[i] := Random(20) + 1;
    end;
end;
 
function Algorithm(const aLength, B: integer; out aArray: TArray<integer>): integer;
  var
    i, P: integer;
begin
  aArray := CreateArray(aLength);
 
  P := 1;
 
  for i := Low(aArray) to High(aArray) do
    if (Odd(i + 1)) AND (aArray[i] < B) then
      P := P * aArray[i];
 
  Result := P;
end;
 
procedure TForm1.Button1Click(Sender: TObject); // пример использования
  var
    aArr: TArray<integer>;
    i: integer;
begin
  Edit2.Text := IntToStr(Algorithm(StrToInt(Edit1.Text), StrToInt(Edit3.Text), aArr));
 
  StringGrid1.ColCount := Length(aArr);
 
  for i := Low(aArr) to High(aArr) do
    StringGrid1.Cells[i, 0] := IntToStr(aArr[i]);
end;
0
0 / 0 / 0
Регистрация: 08.05.2017
Сообщений: 13
01.03.2019, 08:01  [ТС] 3
Я вставила это у себя в Делфи и в первой строке пишет ошибку, где TArray<integer>;
0
3310 / 2858 / 771
Регистрация: 29.08.2013
Сообщений: 19,223
Записей в блоге: 1
01.03.2019, 08:14 4
какую ошибку пишет надо догадаться самим?
0
Nanotentacle
01.03.2019, 08:34
  #5

Не по теме:

Цитата Сообщение от qwertehok Посмотреть сообщение
какую ошибку пишет надо догадаться самим?
Я угадаю эту ошибку с трех нот: Undeclared identifier: 'TArray', а причина в седьмой Делфи

0
163 / 141 / 66
Регистрация: 05.06.2010
Сообщений: 632
01.03.2019, 08:54 6
В type объявите
Delphi
1
TArrayInteger = array of integer
Везде где TArray<integer> поменяйте на TArrayInteger
0
4430 / 3673 / 1236
Регистрация: 14.04.2014
Сообщений: 17,153
Записей в блоге: 17
01.03.2019, 09:01 7
Цитата Сообщение от virtual[ity] Посмотреть сообщение
Везде где TArray<integer> поменяйте на TArrayInteger
везде где Delphi 7 поменяйте на 10.3.1 CE )))
0
virtual[ity]
01.03.2019, 09:07     Преобразование кода
  #8

Не по теме:

Это точно

0
01.03.2019, 09:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2019, 09:07
Привет! Вот еще темы с ответами:

Преобразование кода с++ в Си
Здравствуйте , помогите переделать код С++ в Си. можно все не переписывать , а привести примеры ,...

Преобразование кода
Переведите пожалуйста код из консоли в Windows Forms class Program { static void...

Преобразование кода из C++ в C#
Помогите преобразовать код из pascal в с#. Заранее спасибо #include &lt;iostream&gt; using namespace...

Преобразование кода
Доброго времени суток, столкнулся со следующей проблемой: необходимо данный код, с помощью...


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

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

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