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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
vadiprog
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 108
#1

Сортировка пузырьком, выбором, вставкой - Delphi

28.11.2011, 00:39. Просмотров 1747. Ответов 5
Метки нет (Все метки)

Напишите пожалуйста программы с сортировками пузырьком, выбором, вставкою для одномерных масивов. Надо полностью программы, где сортировки записаны в процедурах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 00:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка пузырьком, выбором, вставкой (Delphi):

сортировка вставкой - Delphi
в чем проблема не могу понять ? подскажите плиз. procedure TForm1.Button3Click(Sender: TObject); const SIZE=5; var ...

сортировка вставкой - Delphi
вот сделал по возрастанию for i := 1 to k do begin j := i; q := m; while (j > 0) and (m > q) do begin ...

Сортировка одномерного массива вставкой - Delphi
Помогите составить программу, которая осуществляет формирование массива с клавиатуры, сортировку массива вставкой, вывод исходного и...

Сортировка пузырьком - Delphi
Код программы: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

Сортировка пузырьком - Delphi
Есть сортировка пузырьком, элементы заносятся в ТStringGrid, отсортированный массив нужно вывести в TMemo. Есть код, все заноситься, но...

не правильно работает (сортировка массива вставкой) - Delphi
задача: да одномерный произвольный числовой массив. организовать его сортировку по возростанию и убыванию способом вставки. вроде...

5
Arcor
4806 / 1807 / 159
Регистрация: 20.11.2009
Сообщений: 5,737
Записей в блоге: 1
28.11.2011, 00:54 #2
пузырьком, процедура сортирует, для примера вывод сделал в 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
procedure Balloons(var Arr: Array of Integer);
var i,j,k: Integer;
begin
  for i := 0 to Length(Arr) - 2 do
    for j := 0 to length(Arr) - 2 do
      if Arr[j] > Arr[j+1] then
        begin
          k := Arr[j+1];
          Arr[j+1] := Arr[j];
          Arr[j] := k;
        end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
    A: Array[0..99] of Integer;
begin
  for i := 0 to Length(A)-1 do
    begin
      A[i] := Random(250);
      ListBox1.Items.Add(IntToStr(A[i]));
    end;
  Balloons(A);
  for i := 0 to Length(A)-1 do
    begin
      ListBox2.Items.Add(IntToStr(A[i]));
    end;
end;
0
vadiprog
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 108
28.11.2011, 00:56  [ТС] #3
Цитата Сообщение от Arcor Посмотреть сообщение
пузырьком, процедура сортирует, для примера вывод сделал в 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
procedure Balloons(var Arr: Array of Integer);
var i,j,k: Integer;
begin
  for i := 0 to Length(Arr) - 1 do
    for j := 0 to length(Arr) - 1 do
      if Arr[j] > Arr[j+1] then
        begin
          k := Arr[j+1];
          Arr[j+1] := Arr[j];
          Arr[j] := k;
        end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
    A: Array[0..99] of Integer;
begin
  for i := 0 to Length(A)-1 do
    begin
      A[i] := Random(250);
      ListBox1.Items.Add(IntToStr(A[i]));
    end;
  Balloons(A);
  for i := 0 to Length(A)-1 do
    begin
      ListBox2.Items.Add(IntToStr(A[i]));
    end;
end;
А можно попроще без всяких форм и листбоксов?=)
0
Arcor
4806 / 1807 / 159
Регистрация: 20.11.2009
Сообщений: 5,737
Записей в блоге: 1
28.11.2011, 01:06 #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
// c = < - сортируем по убыванию
// с = > - сортируем по возрастанию
// с = любой другой символ, выход из программы сортировки
procedure Balloons(var Arr: Array of Integer; c: Char);
var i,j,k: Integer;
begin
  for i := 0 to Length(Arr) - 2 do
    for j := 0 to length(Arr) - 2 do
      if c = '>' then
        begin
          if Arr[j] > Arr[j+1] then
            begin
              k := Arr[j+1];
              Arr[j+1] := Arr[j];
              Arr[j] := k;
            end;
        end
      else if c = '<' then
        begin
          if Arr[j] < Arr[j+1] then
            begin
              k := Arr[j+1];
              Arr[j+1] := Arr[j];
              Arr[j] := k;
            end;
        end
      else
        Exit;
end;
Добавлено через 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
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
// c = < - сортируем по убыванию
// с = > - сортируем по возрастанию
// с = любой другой символ, выход из программы сортировки
procedure Balloons(var Arr: Array of Integer; c: Char);
var i,j,k: Integer;
begin
  for i := 0 to Length(Arr) - 2 do
    for j := 0 to length(Arr) - 2 do
      if c = '>' then
        begin
          if Arr[j] > Arr[j+1] then
            begin
              k := Arr[j+1];
              Arr[j+1] := Arr[j];
              Arr[j] := k;
            end;
        end
      else if c = '<' then
        begin
          if Arr[j] < Arr[j+1] then
            begin
              k := Arr[j+1];
              Arr[j+1] := Arr[j];
              Arr[j] := k;
            end;
        end
      else
        Exit;
end;
 
var
    i: Integer;
    A: Array[0..99] of Integer;
begin
  Writeln('Before sorting');
  for i := 0 to Length(A)-1 do
    begin
      A[i] := Random(250);
      Writeln(A[i]);
    end;
  Writeln('');
  Balloons(A, '<');
  Writeln('After sorting');
  for i := 0 to Length(A)-1 do
    begin
      Writeln(A[i]);
    end;
  ReadLn;
end.
0
vadiprog
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 108
28.11.2011, 01:11  [ТС] #5
Мне нужно просто стандартный алгоритм сортировки, без всяких приколов, оформленный в процедуре
0
Arcor
4806 / 1807 / 159
Регистрация: 20.11.2009
Сообщений: 5,737
Записей в блоге: 1
28.11.2011, 01:21 #6
Цитата Сообщение от vadiprog Посмотреть сообщение
Мне нужно просто стандартный алгоритм сортировки, без всяких приколов, оформленный в процедуре
ну, а там что не стандартный? если не нравится вперед вот сюда
0
28.11.2011, 01:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 01:21
Привет! Вот еще темы с ответами:

Сортировка пузырьком StringGrid - Delphi
Проблема вот такая сделал сортировку,он вроде и сортирует,но! приходится несколько раз выполнить процедуру чтобы отсоритировал элементы...

Сортировка пузырьком (ошибка исполнения) - Delphi
такая проблемка, сам компилятор не ругается, но при попытке исполнения появляется ошибка &quot;acces violation at addres 00404b2 in module...

Сортировка пузырьком + слияние массивов - Delphi
Есть неупорядоченный массив Нужно пузырьковым методом рассортировать его по парам Допустим, массив 6 4 7 3 9 10 Должно быть так: 4...

Двусвязный список, сортировка пузырьком - Delphi
Доброго времени суток уважаемые форумчане. Нужна помощь написания программы. Условие такое: написать двусвязный список и провести в нём...


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

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

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