Дан массив а(14): 1,-3,6,-5,-2,8,-9,14,-24,15,17,12,17,4 составить программу обработки массива: 1) найти максимальный элемент среди элементов, стоящих на четных местах. 2) удалить минимальный элемент массива. 3) поменять местами первый и последний элементы массива. 4) вставить в середину массива элемент равный 10. решить на паскале, без рандома, с этими конкретными значениями.
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
const
n=14
var
i, i1, x, s, mx : integer;
t: string;
m1: array [1..n] of integer;
begin
for i := 1 to n do //ввод данных
begin
writeln ('введите очередной элемент --> ');
read (x);
m1[i] := x;
end;
mx := m1[2]; // поиск максимального элемента
for i := 4 by 2 to n do
begin
x := m1[i];
if (x > mx) then mx := x;
end;
writeln('максимальный элемент ',mx);
mx := m1[1]; // поиск минимального элемента
for i := 2 to n do
begin
x := m1[i];
if (x < mx) then
begin
mx := x;
i1 := i;
end;
end;
for i := i1 to (n-1) do m1[i] := m1[i+1]; //удаление минимального элемента
x := m1[1]; //меняем местами 1-й и последний элементы
m1[1] := m1[n-1];
m1[n-1] := x;
for i := (n-1) by (-1) to 8 do m1[i-1] := m1[i]; //вставляем. освобождаем место
m1[7] := 10; //вставили.
for i := 1 to n do writeln(i, ' --> ', m1[i]); //результат
end;
end.