Дан массив А(14): 1,-3,6,-5,-2,8,-9,14,-24,15,17,12,17,4
Составить программу обработки массива:
1) Найти максимальный элемент среди элементов, стоящих на четных местах.
2) Удалить минимальный элемент массива.
3) Поменять местами первый и последний элементы массива.
4) Вставить в середину массива элемент равный 10.
Решить на паскале, без рандома, с этими конкретными значениями. Спасибо!

Const
  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

Оцени ответ

Program test;
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.



Оцени ответ
Не устраивает ответ?

Если твой вопрос не раскрыт полностью, то попробуй воспользоваться поиском на сайте и найти другие ответы по предмету Информатика.

Найти другие ответы

Загрузить картинку