Объясните, как работает структуризация чисел массива по возрастанию for i:= 1 to n do for j:=i+1 to n do if a[j]p:=a[i]; a[i]:=a[j]; a[j]:=p;
В общем, эта программа никак работать не будет, вылетит по ошибке - выход за границы массива, в первом цикле должно быть for i:=1 to n-1 do
Вообще-то, она как раз таки работает
По крайней мере эта часть воспринимается правильно всей программой, и выводит требуемый условием результат
Согласен, работать будет, просто лишнее сравнение a[n]<a[n] при i=n, j=n .
Хотя, при i=n, второй цикл по j вообще работать не будет, нижняя граница больше верхней, поэтому можно оставить как есть. Лишний раз инкрементируется значение i, и больше ничего.
//исправленный кусок кода for i:=1 to n-1 do for j:=i+1 to n do //обмен ячеек массива местами if (a[j] p:=a[i]; a[i]:=a[j]; a[j]:=p; end; { начальный массив 21 34 56 01 34<21? no<br>56<21? no<br>01<21? yes<br> (01) 34 56 (21) обмен ячеек значениями 56<34? no<br>21<34? yes<br> 01 (21) 56 (34) 34<56? yes<br> 01 21 34 56 }
плохо скопировался код
if a[j] < a[i]