
Задача. Дан массив. Рассортировать элементы массива по убыванию. program sortirovka; var n, k, z,
x : integer; a : array[1..50] of integer; begin write('введи размер массива: '); readln(n); for k:=1 to n do a[k]:=random(10)-7; writeln('Исходный массив:'); for k:=1 to n do write(a[k],' '); for z:=1 to n-1 do for k:=1 to n-z do if a[k] then begin x:=a[k]; a[k]:=a[k+1]; a[k+1]:=x end; writeln; writeln('Рассортированный массив:'); for k:=1 to n do write(a[k],' '); end.

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

program sortirovka;
var n, k, z, x : integer;
a : array[1..50] of integer;
begin
write('введи размер массива: '); readln(n);
for k:=1 to n do a[k]:=random(10)-7;
writeln('Исходный массив:');
for k:=1 to n do write(a[k],' ');
for z:=1 to n-1 do
for k:=z+1 to n do
if a[k]>a[z] then begin
x:=a[k];
a[k]:=a[z];
a[z]:=x
end;
writeln;
writeln('Рассортированный массив:');
for k:=1 to n do write(a[k],' ');
end.



Данная программа на языке Pascal сортирует элементы массива по убыванию с использованием метода пузырьковой сортировки. Однако, есть несколько ошибок в коде:
В строке
if a[k] then
условие не определено, это приведет к синтаксической ошибке. Необходимо сравнивать элементы массива с его соседями, чтобы определить, нужно ли менять их местами.После исправления первой ошибки, сортировка будет происходить по возрастанию, в то время как задача требует сортировку по убыванию.
Вот исправленный код для сортировки по убыванию:
pascalprogram sortirovka; var n, k, z, x: integer; a: array[1..50] of integer; begin write('Введи размер массива: '); readln(n); for k := 1 to n do a[k] := random(10) - 7; writeln('Исходный массив:'); for k := 1 to n do write(a[k], ' '); for z := 1 to n - 1 do for k := 1 to n - z do if a[k] < a[k + 1] then begin x := a[k]; a[k] := a[k + 1]; a[k + 1] := x; end; writeln; writeln('Рассортированный массив по убыванию:'); for k := 1 to n do write(a[k], ' '); end.
Теперь код должен корректно сортировать массив по убыванию. Он использует алгоритм пузырьковой сортировки, который многократно проходит по массиву, меняя местами соседние элементы, если они стоят в неправильном порядке.


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