• помогите срочнооо) pascal abc

    1. Развернуть обе половинки массива в обратном порядке. Считая, что массив имеет четное число элементов.

    Пояснения

    Из массива (1, 2, 3, 4, 5, 6, 7, 8) нужно получить массив (4, 3, 2, 1, 8, 7, 6, 5).

    2.  Сдвинуть все элементы массива на одну позицию влево (циклически). Первый элемент должен оказаться на месте последнего.
    3.  Сдвинуть все элементы массива на одну позицию вправо (циклически). Последний элемент должен оказаться на месте первого.

Ответы 1

  • Во всех программах у меня будет использоваться процедура swap:

     

    procedure swap(a: ^real; b: ^real);var   t: real;begin   t := a^;   a^ := b^;   b^ := t;end;

     

    swap(x,y) - меняет местами значения x и y.

     

    1.

    var   A: array[1..100] of real;   i, j, N: integer;

    begin

       readln(N);   for i := 1 to N do      read(A[i]);   for j := 1 to (N div 2) - 1 do      for i := 1 to (N div 2) - j do         swap(A[i], A[i + 1]);   for j := 1 to (N div 2) - 1 do      for i := (N div 2) + 1 to N - j do         swap(A[i], A[i + 1]);   for i := 1 to N do      writeln(A[i])end.

     

    2.

    var   A: array[1..100] of real;   i, N: integer;

    begin

       readln(N);   for i := 1 to N do      read(A[i]);   for i := 1 to N - 1 do      swap(A[i], A[i + 1]);   for i := 1 to N do      writeln(A[i])end.

     

    3.

    var

       A: array[1..100] of real;   i, N: integer;

    begin

       readln(N);   for i := 1 to N do      read(A[i]);   for i := N downto 2 do      swap(A[i], A[i - 1]);   for i := 1 to N do      writeln(A[i])end.

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years