Другие языки программирования и технологии

Помогите пожалуйста,ну вот чуть-чуть по паскалю...

вообщем вот задание: программа генерирует 20 чисел от -10 до 10 включительно и сортирует их по следующему алгоритму: последовательно просматриваем числа A i ,..An (i:=0). находим минимальный элемент и меняем его местами с i-ым элементов. Увеличиваем значение i и прподолжаем процедуру до i=n На экран необходимо вывести все шаги сортировки.если кол-во шагов не умещается на экран,то вывести надписаь НАЖМИТЕ ЛЮБУЮ КЛАВИШУ ДЛЯ ПРОДОЛЖЕНИЯ и продолжить сортировку при нажатии пользователем любой клавиши (для ожидания нажатия на клавишу существует функция readkey,содержащаяся в модуле crt) ___________________ вот моя программа: program hz; USES CRT; var a:array[1..20] of integer; i,j,k,min:integer; begin Randomize; for i:=1 to 20 do begin a:=random(20)-10; end; writeln; writeln('вот мы тут так взяли и сгенерировали числа:'); for i:=1 to 20 do write(,a:4); writeln; begin for j:=1 to 19 do for i:=j+1 to 20 do if a[j]>a then begin k:=a[j]; a[j]:=a; a:=k; end; writeln('а тут раз и отсортировали:'); for i:=1 to 20 do write(a:4); writeln; writeln; end; end. _______________________ собственно непонятно,как делать вот это: "На экран необходимо вывести все шаги сортировки" помогите,кто шарит...
Sergo Melikyan
Sergo Melikyan
501
uses CRT;
var
a : array[1..20] of integer;
i,j,k, inScreen :integer; Ch : Char;
begin
Randomize;
for i:=1 to 20 do begin a[ i] := Random(21); a[ i] := a[ i] - 10; end;
inScreen := 0;
ClrScr;

writeln('вот мы тут так взяли и сгенерировали числа: '); Inc(inScreen);
for i:=1 to 20 do write(a[ i ]:3); writeln; Inc(inScreen);

WriteLn('сортируем массив: '); Inc(inScreen);
for j:=1 to 19 do begin
WriteLn('сортируем начиная с элемента ', j); Inc(inScreen);
for i:=j+1 to 20 do
if a[j]>a[ i ] then
begin
WriteLn('меняем местами элементы с индексами ', i, ' и ', j); Inc(inScreen);
k:=a[j]; a[j]:=a[ i]; a[ i]:=k;
for i:=1 to 20 do write(a[ i ]:3); writeln; Inc(inScreen);
if inScreen > 20 then begin Write('нажмите любую клавишу... '); Ch := ReadKey;
while KeyPressed do Ch := ReadKey; Write(#13); inScreen := 0; end;
end; end;

writeln('а тут раз и отсортировали: ');
for i:=1 to 20 do write(a[ i]:3); writeln;

Write('Для выхода нажмите любую клавишу... '); Ch := ReadKey;
while KeyPressed do Ch := ReadKey; WriteLn(#13, 'Программа завершила свою работу. ');
end.
ЕИ
Ерлан Ибрагимов
53 405
Лучший ответ
Скорее всего хотят чтоб в
if a[ j] >a[ i] then
был добавлен вывод чего-то вроде "переставляем элементы с индексами.. "
и держать переменную-счётчик строк ( в стандартном экране исходно вроде 20 строк помещалось) обнуляя за одну до заполнения и выводя запрос еникея

(сам код покоцан и вникать не стал. чтоб сюда нормально пролезло надо "< " и "[ "писать с пробелом. иначе мейл их считает началом тегов форматирования)

--------
Наврал. подправляю.
классический текстовый экран 25 строк (а не 20) по 80 символов
NR
Niyaz Raimberdiev
75 320