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

Правильно вывести массив

21.06.2015, 18:37. Просмотров 192. Ответов 0
Метки нет (Все метки)

Сделал быструю сортировку, но ни как ни догадаюсь как вывести в memo. Сортировка быстрая.

Memo2.Lines[Memo2.Lines.Count-1] := Memo2.Lines[Memo2.Lines.Count-1] +FloatToStr(хз какая переменная скорее всего X) +(' ');

Кликните здесь для просмотра всего текста
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    StaticText1: TStaticText;
    StaticText2: TStaticText;
    Edit1: TEdit;
    UpDown1: TUpDown;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    StaticText3: TStaticText;
    Memo1: TMemo;
    Memo2: TMemo;
    Button7: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
 
  private
 
    { Private declarations }
  public
     function Partition(l,r: integer): integer;
     Procedure Swap(Var a, b: integer);
      procedure sort(l,r: integer);
   procedure QuickSort(a: array of integer);
 
 
    { Public declarations }
  end;
 
const N= 10000;
 
var
  Form1: TForm1;
  N1, i, Temp: integer;
  A: array [1..N] of integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);//Создание массива
begin
N1:=StrToInt(Edit1.Text);
Memo1.Clear;
Memo2.Clear;
randomize;
for i := 1 to N1 do
A[i] := random(100);
begin
for i := 1 to N1 do
Memo1.Lines[Memo1.Lines.Count-1] := Memo1.Lines[Memo1.Lines.Count-1] +FloatToStr(A[i]) +(' ');
end;
end;
 
 
procedure TForm1.Button6Click(Sender: TObject);//Очистка массива
begin
Memo1.Clear;
Memo2.Clear;
N1:=0;
end;
 
procedure TForm1.Button5Click(Sender: TObject);//Очистка поля
begin
Memo2.Clear;
end;
 
 
procedure TForm1.Button3Click(Sender: TObject);//Выход
begin
close;
end;
 
function TForm1.Partition(l, r: integer): integer;
var i,j,x:integer;
begin
    i := l - 1;
    j := r + 1;
    x := a[l];
    while True do
    begin
      repeat
        Inc(i);
      until a[i]>=x;
      repeat
        Dec(j);
      until a[j]<=x;
      if i<j then
        Swap(a[i],a[j])
      else
      begin
        Result := j;
        //Memo2.Lines[Memo2.Lines.Count-1] := Memo2.Lines[Memo2.Lines.Count-1] +FloatToStr(x) +(' ');
        exit;
      end;
    end;
end;
 
procedure TForm1.sort(l,r: integer);
  var j:integer;
begin
    if l>=r then exit;
    j := Partition(l,r);
    sort(l,j);
    sort(j+1,r);
    //Memo2.Lines[Memo2.Lines.Count-1] := Memo2.Lines[Memo2.Lines.Count-1] +FloatToStr(x) +(' ');
end;
 
procedure TForm1.QuickSort(a: array of integer);
begin
  sort(0,N1);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  QuickSort(A);
{begin
for i:= 1 to N1 do
Memo2.Lines[Memo2.Lines.Count-1] := Memo2.Lines[Memo2.Lines.Count-1] +FloatToStr(a[i]) +(' ');
end;}
end;
 
procedure TForm1.Swap(var a, b: integer);
Var p: integer;
begin
  p := a;
  a := b;
  b := p;
end;
 
end.
0
Вложения
Тип файла: rar All.rar (170.6 Кб, 0 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2015, 18:37
Ответы с готовыми решениями:

Не могу правильно вывести массив P[i]
unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

Как правильно вывести...
Дано три числа. Нужно выбрать из них те которые меньше заданой константы и...

Вывести правильно дерево!
Привет всем! Есть таблица для хранения дерева CREATE TABLE Tree ( ID...

Не получается правильно вывести данные в STRINGGRID
Доброго времени суток! Существует файл со следующей структурой: &lt;?xml...

Не правильно инициализируется массив
Как так может, быть )) массив выдаётся случайно , но в procedure init , бардак...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2015, 18:37

Как правильно объявить массив
Такой вопрос возник: у меня размерность массива зависит о значения...

Не правильно считает (одномерный массив)
procedure TForm1.Button1Click(Sender: TObject); var a: array of integer;...

Дан массив чисел a(n). Вывести массив b(n), в котором bi=a1+a2+…+ai
Помогите решить ннужно очень срочно. Дан массив чисел а(n). Вывести массив...


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

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

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