** скрине представлен сортировка массива методом пузырька, дали задание, определить при...

0 голосов
31 просмотров

На скрине представлен сортировка массива методом пузырька, дали задание, определить при каком j массив уже отсортирован, выйти из массива с помощью метки(label) и оператора "goto", и вывести на экран j при котором массив отсортировался, чтобы "не гонять зря компьютер", помогите кто шарит


image

Информатика (15 баллов) | 31 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Program gt;
label 1,2;
type ma=array[1..100000]of longint;
var  A:ma; 
 p,l,g,n,i,j:longint;
begin
read(n);
for i:=1 to n do
begin
read(A[i]);
end;
for i:=1 to n-1 do
begin
for j:=1 to n-i do
begin
p:=A[j];
l:=A[j+1];
if A[j]>A[j+1] then beginA[j]:=l;A[j+1]:=p;
end;
end;
for g:=1 to n-1 do
begin
if(A[g]>a[g+1])then goto 2;
end;
goto 1;
2:
end;
1:
writeln(i);
for i:=1 to n do
begin
write(A[i],' ');
end;
end.
Если по убыванию то if(A[g]<a[g+1])then goto 2;

(6.6k баллов)
0

у меня i и j наоборот

0

там undefined label in preceding statement part (0001).

0

там вообще не отсортированный массив выдает, а 50 двоек, или 50 восьмерок

0

он выдает что на 47 j из 50 cортировка закончена, это норм?

0

все, работает, один begin лишний