0 / 0 / 0
Регистрация: 24.07.2014
Сообщений: 9
1

Сортировка шейпов по высоте

10.11.2014, 13:50. Показов 496. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано массив шейпов рандомной высоты. Отсортировать методом пузырырька. Оно у меня сортирует, но не показывает как. Просто в конце показывает готовый вариант, а мне нужно пошагово.
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
type
  Tmas=array[1..800] of tshape;
  TForm1 = class(TForm)
    Image1: TImage;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    Timer1: TTimer;
    N8: TMenuItem;
    N9: TMenuItem;
    Timer2: TTimer;
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  x,y,i,j:word;
  mas:Tmas;
implementation
 
{$R *.dfm}
 
 
 
procedure TForm1.N2Click(Sender: TObject);
begin
  randomize;
  for i := 1 to 5 do
    begin
      mas[i]:=tshape.Create(nil);
      mas[i].Parent:=form1;
      mas[i].Visible:=true;
      mas[i].Enabled:=true;
      mas[i].Top :=random(399)+1 ;
      mas[i].Left :=i*4;
      mas[i].Width:=4;
      mas[i].Tag:=random(100)+1;
      mas[i].Height:=round((500-10)/100*mas[i].Tag);
      mas[i].Top:=500-mas[i].Height;
 
    end;
 
 
end;
procedure swop(var a,b:tshape);
var
  c,d:word;
begin
  c:=a.Tag;
  d:=b.Tag;
  b.Tag:=c;
  a.Tag:=d;
end;
 
 
procedure TForm1.N4Click(Sender: TObject);
begin
  timer1.Enabled:=true;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
  c,d:word;
begin
    for i:=1 to 5 do
    for j:=1 to 5-i do
    begin
      if mas[j].height>mas[j+1].height then
      begin
        c:=mas[j].Height;
        d:=mas[j+1].Height;
        mas[j+1].height:=c;
        mas[j+1].top:=500-c;
        mas[j].height:=d;
        mas[j].top:=500-d;
      end;
    end;
end;
Вложения
Тип файла: zip OnlySortOnlyHardCore.zip (429.0 Кб, 1 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2014, 13:50
Ответы с готовыми решениями:

Как выровнять контрол грида MSHFlexGrid по высоте равным высоте всех его строк
Т.е. нужно чтобы визуально грид вмещал ВСЕ строки источника. Проблема в том , что высота строки...

Колонки одинаковой высоте по высоте меньшей
Приветствую товарищи, есть проблема kansk-afisha.besaba.com col-sm-9 с картинкой и col-sm-3 с...

Перекрытие прозрачных шейпов
Добрый день, как можно сделать полупрозрачный шейп чтобы не было видно контура нижнего шейпа? Для...

Смена порядка отображения шейпов на листе
Добрый день, специалисты по ВБА. Есть макрос, расставляющий шейпы на листе - по таблице J4:P18, в...

0
10.11.2014, 13:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2014, 13:50
Помогаю со студенческими работами здесь

Программа для рисования цифр из шейпов
Добрый день, мне нужно сделать программу которая будет рисовать из шейпов цыфру, которую мы...

Удаление шейпов, пересеченных другими шейпами
Здравствуйте. У меня появился вопрос из области vba. Есть макрос, который рисует вокруг фигуры...

Наименование шейпов - по тексту в текстовом файле
Доброго времени дня. Посоветуйте как макросом сделать такое: Имеется текстовый файл 1.txt, в...

Расположение шейпов - вокруг другого шейпа
Здравствуйте У меня появился такой вопрос: На листе находится фигура "Овал 1" Как макросом -...

Сортировка выбором, сортировка вставкой, сортировка заменой, сортировка обменом ("пузырьковая" сортировка)
Создать класс, содержащий массив и реализующий алгоритмы сортировки и бинарного поиска в этом...

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru