Проект «Сортировка числового массива по убыванию»
Постановка задачи. Создать проект «Сортировка числового массива по убыванию», в котором реализуется сортировка с использованием поиска максимального элемента во вложенном цикле.
Схема выполнения
Разместить на форме компоненты Label1, Button1 и Button2. По нажатию на кнопку Button1 массив будет заполняться случайными числами, а по нажатию на кнопку Button2 – произойдет сортировка массива. Измените размер компонента Label1 и его свойства: значение Autosize равно false, а WordWrap = true. Это нужно для того, чтобы происходил перенос тескта.
Объявите следующие переменные:
Var
A:array[1..10] of integer;
I:integer; // счетчикцикла
j:integer; // счетчикцикла
K:integer; // счетчикцикла
R:integer; // буфер для обмена значений элементов массива
Max:integer; // номер максимального элемента
Щелкните по кнопкам Button1 и Button2 для написания событийных процедур для этих кнопок.
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:= '';
Randomize;
For I := 1 To 10 DoA[I] := Random(10);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
For I := 1 To 9 Do
Begin
Max := i;
//поиск номера максимального элемента
For J := I+ 1 To 10 Do
If A[J] > A[Max]Then Max := J;
//Перестановка
R := A[I];
A[I] := A[Max];
A[Max] := R;
//Печать массива для каждого цикла перестановки
For K := 1 To 10 Do
Label1.Caption := Label1.Caption + ' ' + IntToStr(A[K]);
end;
end;
Запустить проект.
Последовательно щелкнуть по кнопкам Заполнить массив и Сортировка.
Процедуру можно повторить несколько раз.
Достарыңызбен бөлісу: |