Предмет: Информатика, автор: Glebforst

Помогите с заданием по информатике,вот условие
Дана последовательность натуральных чисел 1, 2, 3, ..., N (1 ≤ N ≤ 1000). Необходимо сначала расположить в обратном порядке часть этой последовательности от элемента с номером A до элемента с номером B, а затем от C до D (A < B; C < D; 1 ≤ A, B, C, D ≤ N).
А вот мой код,нужно дописать код программы,а то у меня не получается
var
x: array[1..1000]of integer;
i,n,a,b,c,d,k: integer;

begin
read(n,a,b,c,d);
for i := 1 to n do
x[i]:=i;
for i := 1 to n do
write(x[i],' ');
writeln;
n:=a+b+1;
for i:= a to n div 2-1 do
begin
k:=x[i];
x[i]:=x[b-i+1];
x[b-i+1]:=k
end;
for i := 1 to n do
write(x[i],' ');
end.


qqqqqweeeerrtyyyyy: на каком языке программирования дописать?
Glebforst: на паскале,даже не дописать а исправить,а то мне не те числа выдают

Ответы

Автор ответа: qqqqqweeeerrtyyyyy
0

Ответ:

{$APPTYPE CONSOLE}

 

uses

SysUtils;

 

var

x:array[1..1000] of word;

n,i,a,b,c,d:word;

 

procedure replace(a,b:word);

var

i,n,tmp:word;

begin

n:=(b-a+1) div 2;

i:=0;

while i<n do

begin

tmp:=x[i+a];

x[i+a]:=x[b-i];

x[b-i]:=tmp;

inc(i);

end;

end;

 

Begin

read(n,a,b,c,d);

for i:=1 to n do

x[i]:=i;

 

replace(a,b);

replace(c,d);

 

for i:=1 to n do

write(x[i],' ');

readln;

 

readln;

end.

Объяснение:

Похожие вопросы
Предмет: Другие предметы, автор: Аноним
Предмет: Химия, автор: 202157