Массив содержит четное количество элементов напишите программу которая сортирует первую половину
Перейти к содержимому

Массив содержит четное количество элементов напишите программу которая сортирует первую половину

Сортировка. Метод выбора.
Уровень A. Массив содержит четное количество элементов. Напишите программу, которая сортирует первую половину массива по возрастанию, а вторую – по убыванию. Каждый элемент должен остаться в «своей» половине.
Пример:
Массив: 5 3 4 2 1 6 3 2
После сортировки: 2 3 4 5 6 3 2 1
Помогите пожалуйста и (подробно,т.к я не понимаю) , срочно нужно. 20 баллов даю

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Помогите, пожалуйста. Pascal ABC.net.

Массив содержит четное количество элементов. Напишите программу, которая сортирует первую половину массива по возрастанию, а вторую – по убыванию. Каждый элемент должен остаться в «своей» половине.
Пример:
Массив:
5 3 4 2 1 6 3 2
После сортировки:
2 3 4 5 6 3 2 1

Написал программу, правильно сортирует левую часть (1-5 элементов), а правую часть ( 6-10) не сортирует. Исправьте, пожалуйста ошибки.

var mas: array[1..10] of integer; i, j, t,n: integer;
begin
randomize;

for i := 1 to 10 do mas[i] := random(100); <заполняем массив>
writeln(‘Массив:’);
<сортировка>
for i := 1 to 10 do write(mas[ i], ‘ ‘);
writeln(»);
for i := 1 to (10 div 2) — 1 do

for j := 1 to (10 div 2) — 1 do <внутренний>
if mas[j] > mas[j + 1] then begin <если один больше другого то меняем местами>
t := mas[j]; <временное хранилице>
mas[j] := mas[j + 1];
mas[j + 1] := t;
end;
write(‘Первая половина: ‘);
for i := 1 to 5 do write(mas[i],’ ‘);<вывод отсортированной части>
writeln(»);

for j := 6 to 10 — i do
if mas[j] > mas[j + 1] then begin
n := mas[j];
mas[j] := mas[j + 1];
mas[j + 1] := n;
end;
writeln;
writeln(‘Массив после сортировки: ‘);
for i := 6 to 10 do
write(mas[i], ‘ ‘);

Информатика 10 кл Паскаль Массив содержит четное количество элементов.Напишите программу,которая сортирует первую половину массива по возрастанию,а вторую по убыванию.Каждый элемент должен остаться в «своей» половину. Заранее спасибо;)

Const
N = 10;
Var
A:array[1..N] of integer;
i,j:integer;
Begin
Write(Исходный массив: );
For i:= 1 to N do
Begin
A[i]:=random(21)-10;
Write(A[i], )
End;
WriteLn;
Write(Отсортированный массив: );
For j:= 1 to N div 2 do
For i:= 1 to N div 2-1 do
if A[i]gt;A[i+1] then Swap(A[i],A[i+1]);

For j:= 1 to N div 2 do
For i:= N div 2 to N-1 do
if A[i]lt;A[i+1] then Swap(A[i],A[i+1]);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *