
Заполнить массив из 10 элементов случайными числами в интервале[-10.. 10] и отсортировать по
убыванию. Язык Паскаль

Ответы на вопрос

Ответ:uses crt;
const SIZE=10;
type MyMassive:ARRAY[1..SIZE] OF INTEGER;
var MyMass:MyMassive;
i:integer;
procedure quickSort(var numbers:MyMassive; left,right:integer);
var
pivot:integer; // разрешающий элемент
begin
l_hold := left; //левая граница
r_hold := right; // правая граница
pivot := numbers[left];
while (left < right) do // пока границы не сомкнутся
begin
while ((numbers[right] <= pivot) and (left < right)) do
dec(right); // сдвигаем правую границу пока элемент [right] больше [pivot]
if NOT (left = right) then // если границы не сомкнулись
begin
numbers[left] := numbers[right]; // перемещаем элемент [right] на место разрешающего
Inc(left); // сдвигаем левую границу вправо
end;
while ((numbers[left] >= pivot) AND (left < right)) do
Inc(left); // сдвигаем левую границу пока элемент [left] меньше [pivot]
if NOT (left = right) then// если границы не сомкнулись
begin
numbers[right] := numbers[left]; // перемещаем элемент [left] на место [right]
Dec(right); // сдвигаем правую границу вправо
end;
end;
numbers[left] := pivot; // ставим разрешающий элемент на место
pivot := left;
left := l_hold;
right := r_hold;
if (left < pivot) then// Рекурсивно вызываем сортировку для левой и правой части массива
quickSort(numbers, left, pivot - 1);
if (right > pivot) then
quickSort(numbers, pivot + 1, right);
End;
begin
clrscr;
writeln('первоначальное заполнение массива:');
for i:=1 To SIZE do
begin
MyMass[i]:=Trunc(random(20))-10;
write(' ',MyMass[i]);
end;
writeln;
quickSort(MyMass, 1, SIZE);
writeln('результат:');
for i = 1 to SIZE do write(' ',MyMass[i]);
writeln;
readkey();
end.
Объяснение:




Для заполнения массива из 10 элементов случайными числами в интервале [-10..10] и последующей сортировки его по убыванию в языке Паскаль, вам потребуется использовать генератор случайных чисел и алгоритм сортировки (например, сортировку пузырьком или сортировку вставками). Вот пример кода, который выполняет задачу:
pascalprogram RandomSortArray; const Size = 10; MinValue = -10; MaxValue = 10; type IntArray = array[1..Size] of Integer; procedure FillArrayRandomly(var arr: IntArray); var i: Integer; begin Randomize; for i := 1 to Size do arr[i] := Random(MaxValue - MinValue + 1) + MinValue; end; procedure BubbleSort(var arr: IntArray); var i, j, temp: Integer; begin for i := 1 to Size - 1 do begin for j := 1 to Size - i do begin if arr[j] < arr[j + 1] then begin temp := arr[j]; arr[j] := arr[j + 1]; arr[j + 1] := temp; end; end; end; end; procedure PrintArray(const arr: IntArray); var i: Integer; begin for i := 1 to Size do Write(arr[i], ' '); Writeln; end; var myArray: IntArray; begin FillArrayRandomly(myArray); Writeln('Массив до сортировки:'); PrintArray(myArray); BubbleSort(myArray); Writeln('Массив после сортировки по убыванию:'); PrintArray(myArray); end.
Этот код создает массив из 10 элементов, заполняет его случайными числами из интервала [-10..10], затем выполняет сортировку пузырьком по убыванию и выводит результат до и после сортировки.


Похожие вопросы

Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili