Цитата:
Сообщение от IvaIlga
Здравствуйте! я написала программу сортировки одномерного массива простым обменом. Проверила в ее работоспособности, массив выводится в правильной последовательности чисел,но бесконечное число раз. Буду рада,если Вы покажете причину и дадите совет,как устранить проблему (или сами поправите код с комментарием).
|
Да, девушка - что-то Вы тут по части циклов накрутили немыслимое. Зачем-то сортировку затолкали в цикл, да еще и двойной, да и вывод почему-то усложненный... Собственно, исправил одну ошибку (младший индекс массива вы объявили 0, а циклы строите от 1 - исправил), а в остальном редактирование свелось просто к удалению этих лишних циклов. Пожалуйста:
Код:
uses crt;
var
a:array [1..99] of integer;
i,j,n,f: integer;
begin
clrscr;
writeln('Danna programma sortiryet massiv prostum obmenom.');
writeln('******************************');
write('Vvedite chislo zifr massiva n= ');
readln(n);
randomize;
for i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:2);
end;
writeln;
{-- algoritm sortirovki --}
for i:=n downto 2 do
for j:=1 to i-1 do
if a[j]>a[j+1] then
begin
f:=a[j];
a[j]:=a[j+1];
a[j+1]:=f;
end;
writeln('Otsortirovannui massiv: ');
for i:=1 to n do
write(a[i]:2);
readln;
end.