-
Notifications
You must be signed in to change notification settings - Fork 0
/
Program829V.pas
44 lines (40 loc) · 1.88 KB
/
Program829V.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const n=4;
var
x,y,z:array[1..n] of real;
i:integer;
begin
for i:=1 to n do begin
readln(x[i]); //Ввод
z[i]:=x[i]; //Присвоиваем Z с целью сохранить X
end;
if n mod 2<>0 then begin
for i:=1 to n div 2 do begin
y[n div 2 + i + 1]:=x[i]; //Сравняем массив X к массиву Y до середины последовательности
end;
for i:=n div 2 + 2 to n do begin
z[i - n div 2 - 1]:=x[i]; //Сравняем массив X к массиву Z с середины последовательности
end;
for i:=1 to n div 2 do begin //Присваиваем X массивом Z до середины.
x[i]:=z[i] end;
for i:=(n div 2) + 2 to n do begin
x[i]:=y[i]; end;
for i:=1 to n do begin
writeln(x[i]); //Вывод при нечетным количестве эл.
end;
end;
if n mod 2=0 then begin
for i:=1 to n div 2 do begin
y[n div 2 + i]:=x[i]; //Сравняем массив X к массиву Y до середины последовательности
end;
for i:=n div 2 + 1 to n do begin
z[i - n div 2]:=x[i]; //Сравняем массив X к массиву Z с середины последовательности
end;
for i:=1 to n div 2 do begin //Присваиваем X массивом Z до середины.
x[i]:=z[i] end; //Если количество эл. четное, то слогаем 1 половине. (Пр: 4 div 2=2 2+1=3)
for i:=(n div 2) + 1 to n do begin //Присваиваем X массивом Y с середины.
x[i]:=y[i]; end;
for i:=1 to n do begin
writeln(x[i]); //Вывод
end; end;
readln()
end.