ПОМОГИТЕ,ПОЖАЛУЙСТА,Безотлагательно Необходимо!!! Задачки по Паскалю: 1.Задать одномерный массив из 10

ПОМОГИТЕ,ПОЖАЛУЙСТА,СРОЧНО Необходимо!!! Задачки по Паскалю: 1.Задать одномерный массив из 10 чисел, которые полученные случайным образом.
1) Поменять местами левую и правую половину.
2) Элементы массива больше 10 поменять на 100.
3) Удалить из массива наибольший элемент, а перед минимальным элементом воткнуть 0.

2.Задать одномерный массив из 10 чисел, которые приобретенные случайным образом.
1) Вывести на экран только нечётные элементы.
2) Элементы массива, стоящие на чётных позициях заменить на 0.
3) Удалить из массива последний нечетный элемент, а перед 3 элементом воткнуть 100.

Задать свой вопрос
Мирослава Клочихина
Даже не представляю. учитель не учит,а только просит. это нужно как-то решить за несколько дней...
1 ответ
Задание 1

const
  n=10;
var
  a:array[1..n] of integer;
  i,k,t,imin,imax:integer;
begin
  randomize; инициализация датчика пчевдослучайных чисел
  Writeln('*** Исходный массив ***');
  for i:=1 to n do begin
    a[i]:=random(20); интервал [0;19]
    Write(a[i]:4)
    end;
  Writeln;
  1. меняем местами правую и левую половины
  Writeln('*** 1 ***');
  k:=n div 2;
  for i:=1 to k do begin
    t:=a[i]; a[i]:=a[i+k]; a[i+k]:=t
    end;
  for i:=1 to n do Write(a[i]:4);
  Writeln;
  2. Элементы массива, великие 10, сменяем на 100
  for i:=1 to k do
    if a[i]gt;10 then a[i]:=100;
  Writeln('*** 2 ***');
  for i:=1 to n do Write(a[i]:4);
  Writeln;
  3. Устраняем максимальный элемент, вставляем 0 перед наименьшим
  запудренная задача !
  Writeln('*** Начальный массив ***');
  for i:=1 to n do begin
    a[i]:=random(50)+1; интервал [1;49]
    Write(a[i]:4)
    end;
  Writeln; Writeln('*** 3 ***');
  imin:=1; imax:=1;
  for i:=2 to n do
    if a[i]gt;a[imax] then imax:=i
    else
      if a[i]lt;a[imin] then imin:=i;
  if imin lt; imax then begin малый встречается раньше наибольшего
    подвигаем вправо на 1 все элементы от imin и до imax
    for i:=imax-1 downto imin do a[i+1]:=a[i];
    a[imin]:=0 вставляем 0 в позицию imin
    end
  else begin малый встречается позднее наибольшего
    подвигаем на лево на 1 элементы от imax до imin -1
    for i:=imax to imin-1 do a[i]:=a[i+1];
    a[imin-1]:=0; вставляем 0 в позицию перед imin
    end;
  for i:=1 to n do Write(a[i]:4);
  Writeln  
end.

Пример
*** Начальный массив ***
  14   1  11   7  14   8  12   8   1  14
*** 1 ***
   8  12   8   1  14  14   1  11   7  14
*** 2 ***
   8 100   8   1 100  14   1  11   7  14
*** Исходный массив ***
  24  36  25   4  42  42  16  39  45  44
*** 3 ***
  24  36  25   0   4  42  42  16  39  44

Задание 2

const
  n=10;
var
  a:array[1..n] of integer;
  i:integer;
begin
  randomize; инициализация датчика пчевдослучайных чисел
  Writeln('*** Исходный массив ***');
  for i:=1 to n do begin
    a[i]:=random(20); интервал [0;19]
    Write(a[i]:4)
    end;
  Writeln;
  1. выводим нечетные элементы
  Writeln('*** 1 ***');
  for i:=1 to n do
    if a[i] mod 2 lt;gt;0 then Write(a[i]:4);
  Writeln;
  2. Элементы на четных позициях обнуляем
  i:=2;
  while ilt;=n do begin
    a[i]:=0;
    i:=i+2
    end;
  Writeln('*** 2 ***');
  for i:=1 to n do Write(a[i]:4);
  Writeln
end.

Пример
*** Исходный массив ***
  12   0  14   8  13  17   3   1  12  17
*** 1 ***
  13  17   3   1  17
*** 2 ***
  12   0  14   0  13   0   3   0  12   0

Замечание:
Третью подзадачу решить в таковой постановке невозможно.
В самом деле, нужно удалить заключительный нечетный элемент, а перед третьим элементом вставить ноль. Что делать, если этим последним нечетным окажется 3-ий?
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт