Почему выдает (встречно 'until', а ожидалось ';') Var a:array[1..50] of byte;
n,p, i,k,m,j,x,y,z: integer;
begin
writeln('Введите количество элементов');
readln(p);
repead;
n:=4;
for i:=n downto 1 do begin
a[i]:=p mod 10;
p:= p div 10;
end;
For i:=1 To n-1 Do Begin
k := i;
For j := i + 1 To n Do
If a[j] >= a[k] Then
k := j;
m := a[i];
a[i] := a[k];
a[k] := m;
end;
x:=a[1]*1000+a[2]*100+a[3]*10+a[4];
For i := 1 To N - 1 Do Begin
k := i;
For j := i + 1 To n Do
If a[j] <= a[k] Then
k := j;
m := a[i];
a[i] := a[k];
a[k] := m;
end;
y:=a[1]*1000+a[2]*100+a[3]*10+a[4];
z:=x-y;
until z=p;
writeln(z);
end.
217
485
Ответы на вопрос:
Var a:array[1..50] of byte;
n,p, i,k,m,j,x,y,z: integer;
begin
writeln('Введите количество элементов');
readln(p);
repeat; - обратите внимание, что Вы написали repead, хотя нужно repeat.
n:=4;
for i:=n downto 1 do begin
a[i]:=p mod 10;
p:= p div 10;
end;
For i:=1 To n-1 Do Begin
k := i;
For j := i + 1 To n Do
If a[j] >= a[k] Then
k := j;
m := a[i];
a[i] := a[k];
a[k] := m;
end;
x:=a[1]*1000+a[2]*100+a[3]*10+a[4];
For i := 1 To N - 1 Do Begin
k := i;
For j := i + 1 To n Do
If a[j] <= a[k] Then
k := j;
m := a[i];
a[i] := a[k];
a[k] := m;
end;
y:=a[1]*1000+a[2]*100+a[3]*10+a[4];
z:=x-y;
until z=p;
writeln(z);
end.
Популярно: Информатика
-
olgagk125.04.2022 23:21
-
ivettapopova04504.05.2020 07:54
-
AndreySolmikov23.04.2022 11:57
-
Тетяна240126.10.2020 09:47
-
SPECIALIST112210.10.2021 01:14
-
Sharkade27.06.2021 17:49
-
siylvio04.01.2020 15:55
-
kama1ezeGggggg09.05.2020 05:31
-
TToMoLLIHuK131.03.2022 05:47
-
Jdkrfzkebuhfhg128.11.2022 22:42