Вопрос задан 03.07.2023 в 06:21. Предмет Информатика. Спрашивает Galkina Karina.

На языке паскаля. Сформируйте случайным образом массив из 20 элементов. Значения элементов должны

находиться в интервале от 1 до 20. выполняющий цифровую сортировку массива (предусмотрите вывод результата каждой итерации в сортировке).
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Калинин Егор.

Ответ:

program z1;

const n =10;

var a:array[1..n]of integer;

i,j,m,z,r:integer;

begin

write('Массив: ':12);  

for i:= 1 to n do  

begin

a[i]:= random(20)+1;

write(a[i]:5)

end;

writeln;

for i:=1 to n-1 do

begin

m:=i;

for j:=i+1 to n do

if a[j] < a[m] then m:=j;

z:=a[i];

a[i]:=a[m];

a[m]:=z;

write(i,' итерация: ');  

for r:= 1 to n do write(a[r]:5);

writeln

end;

write('Массив: ':12);  

for i:= 1 to n do write(a[i]:5)

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример кода на языке Паскаль, который создает массив из 20 случайных элементов и выполняет цифровую сортировку, выводя результат каждой итерации:

pascal
program RadixSort; const MaxValue = 20; ArraySize = 20; type TArray = array [1..ArraySize] of Integer; var DataArray: TArray; TempArray: TArray; Buckets: array [0..9] of TArray; i, j, k, digit, divisor: Integer; procedure PrintArray(const arr: TArray); var i: Integer; begin for i := 1 to ArraySize do Write(arr[i]:3); Writeln; end; procedure RadixSort(var arr: TArray); var i, j, k, digit, divisor: Integer; begin divisor := 1; for k := 1 to 2 do begin for i := 0 to 9 do Buckets[i] := Default(TArray); for j := 1 to ArraySize do begin digit := (arr[j] div divisor) mod 10; Buckets[digit][0] := Buckets[digit][0] + 1; Buckets[digit][Buckets[digit][0]] := arr[j]; end; i := 1; for j := 0 to 9 do begin for k := 1 to Buckets[j][0] do begin arr[i] := Buckets[j][k]; i := i + 1; end; end; PrintArray(arr); divisor := divisor * 10; end; end; begin Randomize; for i := 1 to ArraySize do DataArray[i] := Random(MaxValue) + 1; Writeln('Original array:'); PrintArray(DataArray); Writeln; RadixSort(DataArray); Writeln; Writeln('Sorted array:'); PrintArray(DataArray); end.

Обратите внимание, что в этом коде используется цифровая сортировка для сортировки чисел, представленных в виде десятичных цифр. Код выводит результат каждой итерации сортировки.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос