помогите срочнооо) pascal abc 1. Развернуть обе половинки ...
помогите срочнооо) pascal abc
1. Развернуть обе половинки массива в обратном порядке. Считая, что массив имеет четное число элементов.
Пояснения
Из массива (1, 2, 3, 4, 5, 6, 7, 8) нужно получить массив (4, 3, 2, 1, 8, 7, 6, 5).
2. Сдвинуть все элементы массива на одну позицию влево (циклически). Первый элемент должен оказаться на месте последнего.3. Сдвинуть все элементы массива на одну позицию вправо (циклически). Последний элемент должен оказаться на месте первого.
Есть ответ
17.12.2022
329
Ответ
Во всех программах у меня будет использоваться процедура 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.
Если вы нашли правильное решение, вы можете поблагодарить нас начиная с 10 рублей.
Просто нажмите на кнопку "Подарить".
Просто нажмите на кнопку "Подарить".
17.12.2022