Дан массив А(14): 1,-3,6,-5,-2,8,-9,14,-24,15,17,12,17,4
Составить программу обработки массива:
1) Найти максимальный элемент среди элементов, стоящих на четных местах.
2) Удалить минимальный элемент массива.
3) Поменять местами первый и последний элементы массива.
4) Вставить в середину массива элемент равный 10.
Решить на паскале, без рандома, с этими конкретными значениями. Спасибо!
Answers & Comments
n = 14;
var
i, m, p: integer;
a: array[1..n] of integer:=(1,-3,6,-5,-2,8,-9,14,-24,15,17,12,17,4);
begin
Writeln('Исходный массив');
for i:=1 to n do Write(a[i]:4);
Writeln;
{Найти максимальный элемент среди элементов, стоящих на четных местах}
i:=4; m:=a[2];
while i<=n do begin if m<a[i] then m:=a[i]; i:=i+2 end;
Writeln('Максимальный из элементов на четных местах: ',m);
{Удалить минимальный элемент массива}
m:=a[1]; p:=1;
for i := 1 to n do if m>a[i] then begin m:=a[i]; p:=i end;
for i:=p to n-1 do a[i]:=a[i+1];
Writeln('Массив после удаления минимального элемента ',m);
for i:=1 to n-1 do Write(a[i]:4);
Writeln;
{Поменять местами первый и последний элементы массива}
Writeln('Массив после обмена местами крайних элементов');
m:=a[1]; a[1]:=a[n-1]; a[n-1]:=m;
for i:=1 to n-1 do Write(a[i]:4);
Writeln;
{Вставить в середину массива элемент равный 10}
p:=(n-1) div 2 + 1;
for i:=n-1 downto p do a[i+1]:=a[i];
a[p]:=10;
Writeln('Массив после вставки в середину элемента со значением 10');
for i:=1 to n do Write(a[i]:4);
Writeln
end.
Результат выполнения программы:
Исходный массив
1 -3 6 -5 -2 8 -9 14 -24 15 17 12 17 4
Максимальный из элементов на четных местах: 15
Массив после удаления минимального элемента -24
1 -3 6 -5 -2 8 -9 14 15 17 12 17 4
Массив после обмена местами крайних элементов
4 -3 6 -5 -2 8 -9 14 15 17 12 17 1
Массив после вставки в середину элемента со значением 10
4 -3 6 -5 -2 8 10 -9 14 15 17 12 17 1