
Вопрос задан 06.05.2023 в 11:46.
Предмет Информатика.
Спрашивает Нурмадиева Тамила.
Информатика 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]>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]<A[i+1] then Swap(A[i],A[i+1]);
For i:= 1 to N do
Write(A[i],' ')
End.
0
0
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]>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]<A[i+1] then Swap(A[i],A[i+1]);
For i:= 1 to N do
Write(A[i],' ')
End.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Код программы на Паскале:
program sort_half_array;
const
max_size = 100;
var
arr: array[1..max_size] of integer;
n, i, j, tmp: integer;
begin
readln(n);
for i := 1 to n do
read(arr[i]);
{ Сортировка первой половины по возрастанию }
for i := 1 to n div 2 - 1 do
for j := i + 1 to n div 2 do
if arr[i] > arr[j] then
begin
tmp := arr[i];
arr[i] := arr[j];
arr[j] := tmp;
end;
{ Сортировка второй половины по убыванию }
for i := n div 2 + 1 to n - 1 do
for j := i + 1 to n do
if arr[i] < arr[j] then
begin
tmp := arr[i];
arr[i] := arr[j];
arr[j] := tmp;
end;
for i := 1 to n do
write(arr[i], ' ');
end.
Пример ввода и вывода программы:
Входные данные:
6
3 7 1 5 6 2
Выходные данные:
1 3 5 7 6 2
0
0
program sort_half_array;
const
max_size = 100;
var
arr: array[1..max_size] of integer;
n, i, j, tmp: integer;
begin
readln(n);
for i := 1 to n do
read(arr[i]);
{ Сортировка первой половины по возрастанию }
for i := 1 to n div 2 - 1 do
for j := i + 1 to n div 2 do
if arr[i] > arr[j] then
begin
tmp := arr[i];
arr[i] := arr[j];
arr[j] := tmp;
end;
{ Сортировка второй половины по убыванию }
for i := n div 2 + 1 to n - 1 do
for j := i + 1 to n do
if arr[i] < arr[j] then
begin
tmp := arr[i];
arr[i] := arr[j];
arr[j] := tmp;
end;
for i := 1 to n do
write(arr[i], ' ');
end.
Пример ввода и вывода программы:
Входные данные:
6
3 7 1 5 6 2
Выходные данные:
1 3 5 7 6 2


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